Joomla 3.1.x中的自定义字段

时间:2013-10-16 19:58:56

标签: joomla3.0 joomla3.1

我需要在Joomla 3.1中创建一个新的自定义字段。但你不能这样做。我在Joomla 2.5中遇到了一些关于创建自定义表单的文章,但在这个新版本中我不能。

任何人都会帮助我,我需要在joomla 3.1中的文章后端创建自定义字段,而不是在joomla 2.5中。

在这种情况下,我需要在后端joomla文章中创建。

<field name="totalprice" type="text" label="COM_CONTENT_TOTAL_PRICE_LABEL"   description="COM_CONTENT_TOTAL_PRICE_DESC" class="input-xlarge" size="30" required="true" labelclass="control-label" />

1 个答案:

答案 0 :(得分:2)

您可以在这里找到一个示例,您可以根据自己的需要进行调整和适应:

  1. 在“administrator / components / your_component / models /”目录中,创建(如果不存在)目录和文件“fields / totalprice.php”

  2. 在“totalprice.php”文件中,放置您将在下面找到的示例代码,并根据您的需要对其进行编码。

  3. 在“models / forms /”目录中,找到将调用以构建表单的xml文件,然后创建自定义字段,如:

    <field name="totalprice" 
           type="text" label="COM_CONTENT_TOTAL_PRICE_LABEL"
       description="COM_CONTENT_TOTAL_PRICE_DESC" 
       class="input-xlarge" 
       size="30" 
       required="true" 
       labelclass="control-label" />
    
  4. totalprice.php文件的代码示例

    <?php
        defined('_JEXEC') or die('Direct Access to this location is not allowed.');
    
    //defined('JPATH_BASE') or die; TODO CHECK THIS
    
    jimport('joomla.form.formfield');
    
    /**
     * Created by custom field class
     */
    class JFormFieldTotalPrice extends JFormField
    {
        /**
         * The form field type.
         * @access protected
         * @var string
         */
        protected $type = 'totalprice';
    
        /**
         * Method to get the field input markup.
         * @access protected
         * @return    string    The field input markup.
         */
        protected function getInput()
        {
            // Initialize variables.
            $html = array();
    
            //Load user example. REPLACE WITH YOU CODE
            $html[] = '<input type="text" name="totalprice" value="' . $your_data->value . '" />';
    
            return implode($html);
        }
    }
    ?>