Joomla 2.5表示动态下拉列表的最佳实践

时间:2013-11-11 16:06:47

标签: joomla2.5

我需要一个下拉列表,显示从当前开始的下一个10年。我已经通过这种方式在.xml文件中添加了表单字段:

        <field 
        name="ccYear" type="sql" default="" label="Year"
        query="SELECT @rownum:=@rownum+1 as rownum, YEAR(CURDATE())+@rownum value FROM #__content, (SELECT @rownum:= -1) AS a limit 10" 
        key_field="value" 
        value_field="value" 
    />

这很好用,但我觉得可能有更好的方法。整数字段类型似乎是一个很好的候选者,但我不知道如何获得动态的当前年份:

        <field name="ccYear2" type="integer" label="" class="ddDate" description="" first="2013" last="2023" step="1" />        

1 个答案:

答案 0 :(得分:0)

你可以创建自己的类型字段,只需要为它创建类, 并把它放入: com_componen /模型/场/ ccyear.php

jimport('joomla.form.formfield');

class JFormFieldCcyear extends JFormField
{
    protected $type = 'ccyear';

    protected function getInput()
    {
        $options = JHTML::_('select.integerlist', date('Y'), date('Y', strtotime("+10 years")), 1, 'year', 'class="inputbox"'); 

        return $options;
    }
}

使用方法:

<field name="ccyear" type="ccyear" label="Year"/>