Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TYPO3 FlexForm:如何禁用内联元素中的字段?_Typo3_Flexform - Fatal编程技术网

TYPO3 FlexForm:如何禁用内联元素中的字段?

TYPO3 FlexForm:如何禁用内联元素中的字段?,typo3,flexform,Typo3,Flexform,我有一个带有FlexForm的TYPO3插件。在FlexForm中,我将关系添加到外部表中。我现在需要禁用外部表的一些字段。我不能通过用户权限来实现这一点,因为这是一个上下文问题,而不是权限问题 我的FlexForm如下所示: <settings.moreinfo> <TCEforms> <label>my label</label> <config> <type&g

我有一个带有FlexForm的TYPO3插件。在FlexForm中,我将关系添加到外部表中。我现在需要禁用外部表的一些字段。我不能通过用户权限来实现这一点,因为这是一个上下文问题,而不是权限问题

我的FlexForm如下所示:

<settings.moreinfo>
    <TCEforms>
        <label>my label</label>
        <config>
            <type>inline</type>
            <foreign_table>tx_foo_domain_model_bar</foreign_table>
            <foreign_field>content_uid</foreign_field>
            <foreign_sortby>sorting</foreign_sortby>
            <maxitems>50</maxitems>
        </config>
    </TCEforms>
</settings.moreinfo>

是否可以通过TSconfig或PHP禁用字段?

通常,您可以禁用flexform字段。缔约国指出了以下可能性:

其他属性也适用于flex表单字段,在这种情况下,必须设置包含数据结构键的完整属性路径:
TCEFORM.[tableName].[fieldName].[dataStructureKey].[flexSheet].[flexFieldName].[propertyName]

[dataStructKey]
表示中FlexForm的键
$GLOBALS['TCA']['columns']['config']['ds']
。这 钥匙将分为两部分。默认情况下,第一部分将 在TSconfig中用作FlexForm的标识符。第二部分 如果标识符不为空、列表或*,则将覆盖该标识符
例如,键
my_ext_pi1,list
的标识符将是
my_ext_pi1
对于键
*,my_CType
将是
my_CType
。参见指向的章节 有关详细信息,请参阅TCA的数据结构

某些属性适用于整个FlexForm图纸,其属性路径为
TCEFORM.[tableName].[fieldName].[dataStructureKey].[flexSheet].[propertyName]

如果在标识符中使用
,可能会有问题。

启发我找到了最终解决问题的解决方案

foreign_type
是我一直在寻找的解决方案:

<settings.moreinfo>
    <TCEforms>
        <label>my label</label>
        <config>
            <type>inline</type>
            <foreign_table>tx_foo_domain_model_bar</foreign_table>
            <foreign_field>content_uid</foreign_field>
            <foreign_sortby>sorting</foreign_sortby>
            <maxitems>50</maxitems>
            <foreign_types type="array">
                <numIndex index="1" type="array">
                    <showitem>
                        title, link, --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access, hidden;;1, starttime, endtime
                    </showitem>
                </numIndex>
            </foreign_types>
        </config>
    </TCEforms>
</settings.moreinfo>

我的标签
内联
tx_foo_域_模型_条
内容
分类
50
标题,链接,-div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,隐藏;;1,开始时间,结束时间

内部标识符可以使用
\
进行转义,例如
TCEFORM.tt\u content.pi\u flexform.powermail\u pi1.main.settings\.flexform\.main\.confirmation.disabled=1
<settings.moreinfo>
    <TCEforms>
        <label>my label</label>
        <config>
            <type>inline</type>
            <foreign_table>tx_foo_domain_model_bar</foreign_table>
            <foreign_field>content_uid</foreign_field>
            <foreign_sortby>sorting</foreign_sortby>
            <maxitems>50</maxitems>
            <foreign_types type="array">
                <numIndex index="1" type="array">
                    <showitem>
                        title, link, --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access, hidden;;1, starttime, endtime
                    </showitem>
                </numIndex>
            </foreign_types>
        </config>
    </TCEforms>
</settings.moreinfo>