TYPO3现场助手/提示/提示

时间:2016-12-30 12:12:06

标签: forms field typo3

因为我对TYPO3很新,所以我想知道是否有可能在任何类型的字段下添加简单的文本提示/提示,如下所示,用于昵称输入字段:

hints / tips for form fields

提前谢谢!

1 个答案:

答案 0 :(得分:8)

开箱即用,还没有。 我们正在讨论一种通用的方法,但是现在您需要为FormEngine创建自己的renderType。 鉴于您拥有的PHP知识量,这很容易中间化。

以下是步骤:

第1步:在ext_localconf.php中添加自己的formEngine Type类

$GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeRegistry'][1463078603] = array(
    'nodeName' => 'ApparelCalculation',
    'priority' => 40,
    'class' => \T3G\Apparel\FormEngine\ApparelCalculation::class,
 );

数字1463078603应该是唯一的,所以最好使用当前的unix-timestamp。

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

YOUR_EXTENSION/Configuration/TCA/Overrides/tt_content.php中添加TCA覆盖文件(在这种情况下,我们重写tt_content,因此名称。如果要在TYPO3中重新配置另一个表,请根据表名使用文件名。

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

了解renderType名称与我们在步骤1中注册的名称相同。

第3步:渲染您想要渲染的内容

我将在此处添加我的特殊案例类的配置,但我将在本文后面介绍重要内容:

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来掌握你在该课程中可用的内容。

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

现在您已经知道所有内容如何一起使用,您可以考虑使用普通PHP扩展backend/Classes/Form/Element/InputTextElement.php,获取父render()调用的结果,然后只需添加提示即可。

享受:)