showon属性是表单字段的通用属性,作用就是通过表单中其他字段的值来决定当前字段是否显示。
下面的代码实现当自定义登录页字段设置为1时,登录页类型才会展示出来:
<field name="custom_login"
type="radio"
class="btn-group btn-group-yesno"
label="自定义登录页"
description=""
default="0"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="custom_type"
type="list"
label="登录页类型"
description=""
default="menuitem"
showon="custom_login:1"
>
<option value="menuitem">菜单项</option>
<option value="url">自定义URL</option>
</field>
通过在登陆页类型字段增加showon
属性,将其值设置为 custom_login:1
来实现。 如果想匹配custom_login
的多个值,那么可以使用逗号分隔。如:showon="custom_login:1,2"
如果需要同时基于多个字段的值才能判断是否显示。那么可以使用[AND]链接多个字段
来实现
下面的代码展示了只有当 自定义登录页设置为1且登陆页的类为menuitem
时才会显示 登录菜单字段。
<field name="custom_login"
type="radio"
class="btn-group btn-group-yesno"
label="自定义登录页"
description=""
default="0"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="custom_type"
type="list"
label="登录页类型"
description=""
default="menuitem"
showon="custom_login:1"
>
<option value="menuitem">菜单项</option>
<option value="url">自定义URL</option>
</field>
<field name="custom_menuitem"
type="menuitem"
label="选择菜单项"
description="重定向到该页面"
showon="custom_login:1[AND]custom_type:menuitem"
/>
注意最后的选择菜单项字段的 showon="custom_login:1[AND]custom_type:menuitem"
[OR]
链接。如: showon="foo:1[OR]bar:1".
!:
可以实现不等于的判断。如: showon="field1!:1"
showon="foo!:"
遇到诸如showon
属性根本无法使用的问时候, 你的可以尝试使用 renderField()
方法来输出.字段 代码如下:
<div class="row-fluid"> <div class="span6"> <?php foreach($this->form->getFieldset() as $field) { echo $field->renderField(); } ?> </div> </div>