Typo3 FlexForm:如何在内联元素中禁用字段



我有一个带有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>

我考虑过TCEFORM,但不知道如何解决该领域:

TCEFORM.tt_content.pi_flexform.foobar.general {
  settings.moreinfo {
    # maybe here?
  }
}

是否有可能通过tsconfig或php禁用字段?

通常您可以禁用FlexForm字段。该手册说明了可能性:

其他属性也适用于Flex表单字段,在这种情况下,必须设置包括数据结构密钥在内的完整属性路径:
TCEFORM.[tableName].[fieldName].[dataStructureKey].[flexSheet].[flexFieldName].[propertyName]
[dataStructKey]代表弹性形式的关键 $GLOBALS['TCA'][<tableName>]['columns'][<field>]['config']['ds']。这 钥匙最多将分为两部分。默认情况下,第一部分将 用作TSCONFIG中FlexForm的标识符。第二部分 如果标识符不是空的,则将覆盖标识符,列表或 *。
例如,密钥my_ext_pi1,list的标识符将为my_ext_pi1 在密钥*,my_CType中,它将是my_CType。请参阅指向的部分 TCA参考的数据结构以获取详细信息。

某些属性适用于整个Flexform张,其属性路径是 TCEFORM.[tableName].[fieldName].[dataStructureKey].[flexSheet].[propertyName]

如果您在标识符内使用.,这可能是有问题的。

这个对另一个问题的答案激发了我的解决方案,该解决方案最终解决了我的问题!

foreign_types是我正在寻找的解决方案:

<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>

相关内容

  • 没有找到相关文章

最新更新