官方系列教材 - G计划

Joomla开发手册

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属性不起作用的解决方案


遇到诸如showon属性根本无法使用的问时候, 你的可以尝试使用 renderField() 方法来输出.字段 代码如下:

<div class="row-fluid">
    <div class="span6">
        <?php 
            foreach($this->form->getFieldset() as $field) {
                echo $field->renderField();        
            }
        ?>
    </div>
</div>
 

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前

第1章 Joomla入门教程

第3章 C计划

第5章 E计划

第6章 H计划

第7章 G计划

第9章 运行环境

第11章 主从与集群

第12章 模块开发

第13章 插件开发

第14章 j2.x组件开发教程

第15章 页面定制教程

第16章 页面构造器

第17章 joomla升级

第18章 其他系统迁移

第19章 流量翻倍计划