• 详解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)

  • 相关阅读:
    类型转换
    Java中this和super的用法总结
    关于网页乱码问题
    用cookie实现记住用户名和密码
    Before start of result set
    jsp页面错误The attribute prefix does not correspond to any imported tag library
    MySql第几行到第几行语句
    servelet跳转页面的路径中一直包含sevelet的解决办法
    <a>标签跳转到Servelet页面并实现参数的传递
    解决网页乱码
  • 原文地址:https://www.cnblogs.com/logoove/p/2746692.html
Copyright © 2020-2023  润新知