TYPO3 TCA值作为Fluid的变量

时间:2018-05-23 07:43:36

标签: php class typo3 typoscript fluid

我有一个基本扩展,所以我可以对我的网站进行版本控制。这意味着我没有扩展的控制器或存储库。所以我想做的是在现有元素上创建自己的设置。我正在试验标题内容元素上的文本对齐值。

  

请记住,已有一个设置,但我只是   实验

我想出了如何添加它们并将值保存在数据库中。

我现在想要做的是获取值并将它们添加为FLUID上的类。这是我卡住的地方。我无法得到价值观。知道怎么做吗?

本指南后How to enable header_position in TYPO3 7.6 我设法得到我的代码:

在文件夹/Configuration/TCA/Overrides/tt_content.php

use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
ExtensionManagementUtility::addTCAcolumns('tt_content',[
'header_position_custom' => [
        'exclude' => 1,
        'label' => 'header position',
        'config' => [
                'type' => 'select',
                'renderType' => 'selectSingle',
                'items' => [
                        ['left', 'left'],
                        ['right', 'right'],
                        ['center', 'center']
                ]
        ]
]   
]);

ExtensionManagementUtility::addFieldsToPalette('tt_content', 'header', '--linebreak--,header_position_custom', 'after:header_layout');
ExtensionManagementUtility::addFieldsToPalette('tt_content', 'headers', '--linebreak--,header_position_custom', 'after:header_layout');

在文件夹/Configuration/Typoscript/Constants/Base.typoscript

styles.templates.templateRootPath = EXT:my_website_base/Resources/Private/Extensions/Fluid_styled_content/Resources/Private/Templates/
styles.templates.partialRootPath = EXT:my_website_base/Resources/Private/Extensions/Fluid_styled_content/Resources/Private/Partials/
styles.templates.layoutRootPath = EXT:my_website_base/Resources/Private/Extensions/Fluid_styled_content/Resources/Private/Layouts/

在/Resources/Private/Extensions/Fluid_styled_content/Resourcs/Private/Partials/Header.html

<h1 class="{positionClass} {header_position_custom} {data.header_position_custom} showed">
    <f:link.typolink parameter="{link}">{header}</f:link.typolink>
</h1>
  

我把课程展示给我,以确保我正在阅读   来自我给出的常量路径的文件

档案ext_tables.php

TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY,'Configuration/TypoScript', 'Website Base');

文件ext_tables.sql

CREATE TABLE tt_content (
   header_position_custom varchar(255) DEFAULT '' NOT NULL,
);

所有这些我得到我想要的选择框,我得到数据库上的值。这意味着,如果我选择值&#34;中心&#34;在选择框中,它将保存在数据库中。如何获得此值并将其用作FLUID上的类?

提前致谢,

1 个答案:

答案 0 :(得分:0)

您会在data对象中找到您的字段。

要检查流体变量,可以使用f:debug - VH:

<f:debug title="the data">{data}</f:debug>

用于检查所有(在当前上下文中)可用变量,您可以调试_all

<f:debug title="all data">{_all}</f:debug>

提示:使用title属性来标识输出

并且不要忘记为新字段编写get*set*函数!