TYPO3中 flexforms.xml配置文件的书写详解

原文链接:https://www.whongbin.com/archives/285.html

TYPO3中 flexforms.xml配置文件的书写详解

这个配置文件,本质上是PHP数组,只是以xml格式进行了配置,相对数组来说较为简便。

节点描述

此处定义的所有元素都必须是XML标记(下方列出的),不能出现字符串

节点 介绍 元素
<T3DataStructure> 文件闭合标签(类似html文件中的html标签) <meta>
<ROOT>
<sheets>
<meta> 可以包含针对特定应用程序的元件设置 (取决于应用或属性)
<ROOT>
<[field name]>
在文件中定义一个“元件对象”
1. <ROOT> 配置中的第一个元素的标记。<ROOT>元素必须具有值为数组的<type>标记,然后定义嵌套在<EL>标记中的其他对象。
2.[field name] 定义对象名称
<type>
<section>
<el>
<[application tag]>
<sheets> 定义“sheet”的集合,类似于独立数据结构的一维数字 <[sheet name]>
<TCEforms> 包含有关工作表的详细信息。 如果是单个sheet页,则适用于隐式的sheet <sheetTitle>
<cshFile>
<sheetTitle> sheet页的标题 ·
<cshFile> 用于flexforms.xml内部字段的CSH语言文件。 ·
<[sheet ident]> 定义以< ROOT>开头的独立数据结构标签。 <ROOT>
<el> 包含数据结构“object”的集合 <[field name]>

节点下的配置值描述

此处定义的所有元素都必须包含字符串(或整数)值,而不包含任何其他的XML标记!

节点 数据格式 介绍
<type> "array", [blank] (=default) 定义对象的类型。
1. “array” 表示对象只包含在同一级别的。<EL>标记内定义的其他对象的集合如果值为“array”,则可以使用布尔值“<section>。”见下文。
2. 默认值表示对象不包含子对象。这种对象的含义由使用本文件的应用程序确定。对于flexforms,此对象将绘制表单元素。
<section> Boolean 为<array>类型的对象定义它必须包含其他“array”类型对象。

实例

简单示例:加载在 "mininews" 扩展中的 FlexForm 配置

<T3DataStructure>
    <meta>
        <langDisable>1</langDisable>
    </meta>
    <ROOT>
        <type>array</type>
        <el>
            <field_templateObject>
                <TCEforms>
                    <label>选择模板(或使用LLL:EXT:mininews/locallang_db.php:tt_content.pi_flexform.select_template)</label>
                    <config>
                        <type>select</type>
                        <items>
                            <numIndex index="0">
                                <numIndex index="0"></numIndex>
                                <numIndex index="1">0</numIndex>
                            </numIndex>
                        </items>
                        <foreign_table>tx_templavoila_tmplobj</foreign_table>
                        <foreign_table_where>
                                AND tx_templavoila_tmplobj.pid=###STORAGE_PID###
                                AND tx_templavoila_tmplobj.datastructure="EXT:mininews/template_datastructure.xml"
                                AND tx_templavoila_tmplobj.parent=0
                                ORDER BY tx_templavoila_tmplobj.title
                        </foreign_table_where>
                        <size>1</size>
                        <minitems>0</minitems>
                        <maxitems>1</maxitems>
                    </config>
                </TCEforms>
            </field_templateObject>
        </el>
    </ROOT>
</T3DataStructure>

复杂示例:使用两个sheet “sDEF”和“s_welcome”。

<T3DataStructure>
    <sheets>
        <sDEF>
            <ROOT>
                <TCEforms>
                    <sheetTitle>LLL:EXT:newloginbox/locallang_db.php:tt_content.pi_flexform.sheet_general</sheetTitle>
                </TCEforms>
                <type>array</type>
                <el>
                <show_forgot_password>
                    <TCEforms>
                        <label>LLL:EXT:newloginbox/locallang_db.php:tt_content.pi_flexform.show_forgot_password</label>
                        <config>
                                <type>check</type>
                        </config>
                    </TCEforms>
                </show_forgot_password>
                </el>
            </ROOT>
        </sDEF>
        <s_welcome>
            <ROOT>
                <TCEforms>
                    <sheetTitle>LLL:EXT:newloginbox/locallang_db.php:tt_content.pi_flexform.sheet_welcome</sheetTitle>
                </TCEforms>
                <type>array</type>
                <el>
                    <header>
                        <TCEforms>
                            <label>LLL:EXT:newloginbox/locallang_db.php:tt_content.pi_flexform.header</label>
                            <config>
                                <type>input</type>
                                <size>30</size>
                            </config>
                        </TCEforms>
                    </header>
                    <message>
                        <TCEforms>
                            <label>LLL:EXT:newloginbox/locallang_db.php:tt_content.pi_flexform.message</label>
                            <config>
                                <type>text</type>
                                <cols>30</cols>
                                <rows>5</rows>
                            </config>
                        </TCEforms>
                    </message>
                </el>
            </ROOT>
        </s_welcome>
    </sheets>
</T3DataStructure>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 9,089评论 0 7
  • 1. XML简介 以下内容来自于http://www.w3school.com.cn/xml 基本知识 XML 和...
    WebSSO阅读 6,009评论 1 7
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,881评论 0 9
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,208评论 1 45
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,870评论 1 32

友情链接更多精彩内容