2

Joomla 3.1 で新しいカスタム フィールドを作成する必要があります。しかし、それはできません。Joomla 2.5 でのカスタム フォームの作成に関する記事をいくつか見ましたが、この新しいバージョンでは作成できません。

joomla 2.5ではなく、joomla 3.1のアーティクルバックエンドでカスタムフィールドを作成する必要があります。

この場合、バックエンドの 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" />
4

1 に答える 1

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" />
    

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);
    }
}
?>
于 2013-10-16T22:04:03.713 に答える