【问题标题】:Offer more styling options for content element in TYPO3为 TYPO3 中的内容元素提供更多样式选项
【发布时间】:2016-09-14 05:00:15
【问题描述】:

过去,我经常将 Visual Composer 与 WordPress 一起使用。现在我正在尝试使用 TYPO3 进行我的第一次开发。

我开发了一个内容元素。一切正常。但现在我想为编辑器提供更多样式选项。

例如: - CSS类 - 颜色 - 尺寸 - 填充物 - 边距

这些信息应该可以在流体模板中访问。这可能吗?也许在另一个标签中?

【问题讨论】:

  • 您找到解决方案了吗?
  • 嗨@rakete:你能检查一下下面的答案吗?有帮助吗?对他们将来可能会发现它的其他人有用!

标签: typo3 typoscript typo3-6.2.x typo3-6.1.x


【解决方案1】:

您必须将字段添加到 tt_content 表。为此,您可以使用 TCA。 TYPO3 文档中甚至有一个很好的示例,可以使用“无打印”复选框扩展 tt_content。

在 ext_tables.sql 文件中写入您的字段数据库规范:

CREATE TABLE tt_content (
        tx_your_extension_no_border tinyint(4) DEFAULT '0' NOT NULL
);

然后,您需要在此路径中的扩展中添加另一个文件: your_extension/Configuration/TCA/Overrides/tt_content.php

您可以在此处添加定义的字段:

$temporaryColumn = array(
        'tx_your_extension_no_border' => array (
                'exclude' => 0,
                'label' => 'LLL:EXT:your_extension/Resources/Private/Language/locallang_db.xlf:tt_content.tx_your_extension_no_border',
                'config' => array (
                        'type' => 'check',
                 )
            )
    );
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
            'tt_content',
            $temporaryColumn
    );
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
            'tt_content',
            'visibility',
            'tx_your_extension_no_border',
            'after:linkToTop'
    );

查看完整文档here

一些解释:

函数“addTCAcolumns”将您的“临时列”注册到表中。

函数“addFieldsToPalette”将您的字段“tx_your_extension_no_border”添加到“调色板”中。 (你可以阅读Palettes here)。

第一个参数是表格。 (tt_content)

第二个参数是调色板的名称(这里是可见性)

第三个​​是字段名(tx_your_extension_no_border)

第四个是位置。您可以使用 after 和 before 将字段精确地放置在 XY 字段之前。

当然,您也可以添加自己的标签。

语法为:--div--<tab_name>,<fields>

流体:

添加字段后,它们可以在流体模板中访问,就像任何其他 tt_content 字段一样。您可以使用 if-s、布局、部分来使编辑器在处理您的内容元素时具有多样性。

【讨论】:

  • 您知道替代调色板页面链接吗?那个不再可用,我想阅读它。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
相关资源
最近更新 更多