typo3 - 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 字段。该手册说明了这种可能性:
其他属性也适用于弹性表单字段,在这种情况下,必须设置包含数据结构键的完整属性路径
TCEFORM.[tableName].[fieldName].[dataStructureKey].[flexSheet].[flexFieldName].[propertyName]
:代表 FlexForm 中的
键。此密钥将最多分为两部分。默认情况下,第一部分将用作 TSconfig 中 FlexForm 的标识符。如果标识符不为空、列表或 *,第二部分将覆盖标识符。 例如,密钥的标识符将是 ,密钥的标识符将是。有关详细信息,请参阅指向 TCA 参考的数据结构部分。[dataStructKey]
$GLOBALS['TCA'][<tableName>]['columns'][<field>]['config']['ds']
my_ext_pi1,list
my_ext_pi1
*,my_CType
my_CType
一些属性适用于整个 FlexForm 工作表,它们的属性路径是
TCEFORM.[tableName].[fieldName].[dataStructureKey].[flexSheet].[propertyName]
.
如果您.
在标识符内部使用它可能会出现问题。
推荐阅读
- c# - 从 JsonReader 读取 JObject 时出错。当前 JsonReader 项不是对象:StartArray。路径'',第 1 行,位置 1
- node.js - 云函数 - 使用循环保存数据
- performance - DAX 公式的 IF 表现
- javascript - 如何使用 Jest 测试忽略导入语句?
- vue.js - Vue Router Guard Method 仍然允许页面加载
- blockchain - 每个 Corda DLT 成员可以拥有自己的 CorDapp 来管理共享状态吗?
- c++ - 推导非类型模板参数的模板类型
- python - Pandas groupby:检查组内的差距
- c++ - 在编译时评估多态对象
- php - 添加到购物车按钮内的 Woocommerce 变化产品价格