TYPO3 现场助手/提示/技巧

TYPO3 field helpers / hints / tips

因为我是 TYPO3 的新手,所以我想知道是否可以在任何类型的字段下方添加简单的文本提示/技巧,例如昵称输入字段:

提前致谢!

开箱即用,还没有。 我们正在讨论一种通用的方法来这样做,但现在您需要为 FormEngine 创建您自己的 renderType。 考虑到您拥有的 PHP 知识量,这很容易中级。

步骤如下:

第 1 步:在 ext_localconf.php

中添加您自己的 formEngine 类型 class
$GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeRegistry'][1463078603] = array(
    'nodeName' => 'ApparelCalculation',
    'priority' => 40,
    'class' => \T3G\Apparel\FormEngine\ApparelCalculation::class,
 );

数字 1463078603 应该是唯一的,因此最好使用当前的 unix 时间戳。

第 2 步:指示您的字段使用该 renderType

YOUR_EXTENSION/Configuration/TCA/Overrides/tt_content.php 中添加一个 TCA 覆盖文件(在本例中我们覆盖 tt_content,因此得名。如果你想在 TYPO3 中重新配置另一个 table,请使用文件名根据 tablename.

在此添加一些内容: $GLOBALS['TCA']['tt_content']['columns']['header']['config']['renderType'] = 'ApparelCalculation';

查看 renderType 名称与我们在步骤 1 中注册的名称如何相同。

第 3 步:渲染您喜欢渲染的内容

我将在此处添加我的特殊情况 class 的配置,但我将在后面介绍重要的内容 post:

backend/Classes/Form/Element/InputTextElement.php 复制可能对您的案例有所帮助,因为这似乎是您想要提示的元素。

<?php
namespace T3G\Apparel\FormEngine;

use T3G\Apparel\Calculation\Calculation;
use TYPO3\CMS\Backend\Form\Element\AbstractFormElement;
use TYPO3\CMS\Core\Utility\GeneralUtility;


class ApparelCalculation extends AbstractFormElement
{

    /**
     * Renders the Apparel Calculation Table
     *
     * @return array
     */
    public function render()
    {
        $resultArray = $this->initializeResultArray();
        $calculator = GeneralUtility::makeInstance(Calculation::class);
        $resultTable = $calculator->calculateOrder($this->data['databaseRow']['uid']);
        $resultArray['html'] = $resultTable;
        return $resultArray;
    }
}

我不会关注 render() 方法之外的东西,因为那很简单 PHP。

首先调用 $this->initializeResultArray(); 很重要,这样 TYPO3 才能发挥它的魔力来收集所有数据。

从这里开始,我建议使用 xdebug 来掌握您在 class 中可用的内容。

信息量非常密集,但您将拥有构建最疯狂的东西所需的一切。

既然您知道所有内容是如何协同工作的,您可能会考虑使用普通 PHP 扩展 backend/Classes/Form/Element/InputTextElement.php,获取父 render() 调用的结果并简单地将您的提示添加到其中.

尽情享受吧:)