模块布局表单字段
**modulelayout** 表单字段类型提供了一个下拉列表,其中包含扩展视图的所有可用布局。如果参数具有保存的值,则在页面首次加载时会选择此值。如果没有,则选择默认值(如果有)。
- **type**(必需)必须为 *modulelayout*。
- **name**(必需)是字段的唯一名称。
- **label**(必需)(可翻译)是字段的 HTML 标签。
- **description**(可选)(可翻译)是 字段描述。
结合以下属性可以提供特定模块布局的下拉列表。
- **module**(可选)是特定模块名称(例如 mod_articles_category)。
- **client_id**(可选)
如果为 0(站点):强制仅在目录 /modules/[MODULENAME]/tmpl/ 和所有 /templates/[TEMPLATENAME]/html/[MODULENAME]/ 中搜索布局。
如果为 1(管理员):强制仅在目录 /administrator/modules/[MODULENAME]/tmpl/ 和所有 /administrator/templates/[TEMPLATENAME]/html/[MODULENAME]/ 中搜索布局。 - **template**(可选)是模板名称(例如 cassiopeia 或 atum)。如果设置了此项,则强制仅在此模板中搜索模块模板覆盖。`
由以下文件实现:libraries/src/Form/Field/ModulelayoutField.php
示例 XML 参数定义
<field
name="mymodulelayout"
type="modulelayout"
label="JFIELD_ALT_LAYOUT_LABEL"
description="JFIELD_ALT_MODULE_LAYOUT_DESC"
/>
使用语言常量作为选项值
如果模块或模板中已定义正确格式的语言常量,则布局值可以翻译。
在模块语言文件中
MOD_MYMODULE_LAYOUT_LIST="My Option Label"
字符串“我的选项标签”将显示在文件/选项“list.php”中,而不是“list”。