详解joomla2.5中常用xml生成表单的元素类型

  自从joomla升级到2.5版本,xml配置文件使用越来越多,也很方便,模块的配置参数,前后台组建的表单提交,以及系统中的表单提交,基本上都是基于xml文件生成的,joomla2.5的模块参数xml文件,组件里面表单的xml文件,虽然结构不同,但是生成表单的元素是一样的,今天就来讲解常用的表单生成元素,这里是最常用的,因为表单元素还是非常多的.

  我们随便打开一个模块的配置xml生成文件,里面配置部分就是生成表单的,最常见的一个生成文本框:

<field name="text" type="text" default="" label="文本框" description="这个用来显示文本框" />

我们就可以使用$params->get( 'text')来接收这个配置的参数,name是名称,type是类型,这里是文本框,default是默认值,生成对应表单就是value值,label是提示,description是描述功能的.

后边就不详细说明了,

      <field name="list" type="list" default="1" label="列表框" description="显示下拉列下列表">
                    <option value="0">最新文章</option>
                    <option value="1">热门文章</option>
                    <option value="2">随机文章</option>
                    <option value="3">分类文章</option>
            </field>
      <field name="category" type="category" extension="com_content" default='2' published="" label="选择分类" description="用来显示所有分类的列表"/>
      
      <field name="radio" type="radio" default="0" label="单选" description="单选按钮">
                    <option value="0">否</option>
                    <option value="1">否</option>
            </field>
            
            <field name="textarea" type="textarea" filter="safehtml" rows="3" cols="40" label="大文本框" description="文本框显示" />//type="editor"是带样式文本框
            
            <field name="catid" type="category" extension="com_content" multiple="true" size="10" default="" label="多选分类" description="多选所有分类" >
        <option value="">JOPTION_ALL_CATEGORIES</option>
                </field>
                
        <field name="login" type="menuitem" disable="separator" label="菜单Itemid值" description="取菜单Itemid" >
                    <option value="">JDEFAULT</option>
        </field>
        
        <field type="spacer" hr="true" /> //水平线
        
        <field name="created" type="calendar" label="创建时间" description="时间显示" format="%Y-%m-%d %H:%M:%S" filter="user_utc"  />
        
        <field name='m1' type='sql' label='SQL查询' query="select id,title from #__categories" key_field='id' value_field='title' > //multiple="true" size="5" 成多选列表
            <option value="">--请选择--</option>
    </field>

   <field name="media" type="media" label="媒体文件选择" description="支持上传选择媒体文件" />
   
   <field name="hidden" type="hidden" default="值"> //隐藏域
                    <option value="值"></option>
        </field>

    <field name="timezone" type="timezone" label="选择时区" description="时区选择">
                <option value="">JOPTION_USE_DEFAULT</option>
        </field>
        
        <field name="password" type="password" class="validate-password" filter="raw" label="JGLOBAL_PASSWORD" size="25" />
        
        <field name="url" type="url" description="待验证" label="url" required="true" size="45" />
        
        <field name="email" type="email" class="inputbox" description="" required="true" size="30" validate="email" />
        
            <field name="created_user_id" type="user" label="选择用户id" />
            
    <field name="position" type="moduleposition" default="" description="选择模块位置" label="模块位置" maxlength="50" />

以上基本上列出了常用的表单元素,如果有些你没有找到,那么我们也是可以自己来定义的,这个在组建里面很常见,比如administrator\components\com_banners\models\fields这里就

是定义的表单元素类型,在后面xml文件中加入addfieldpath="/administrator/components/com_banners/models/fields"就能够调用,你可以构造任何表单元素,这里就不讲解了,很简单

照猫画虎就可以了,只要你熟悉HTML表单部分就行了.这算是joomla入门部分吧,但是又是很重要的一部分,表单无处不在.在这里还可以加上验证神马的,省去很多自己写,joomla现在变得

越来越好了.

  最后,说一点,xml文件一定要注意编码是uft-8比较好,特别是出现中文的时候,不然会出现500错误,导致后台打不开,下次继续解析joomla中的常用函数,joomla自定义了许多强大的函数

很多时候是可以直接调用的,不过由于文档资料少,所以更多时候没人知道.

(原创 form Yoby)

posted @ 2012-10-30 17:19  Yoby  阅读(1521)  评论(0编辑  收藏  举报