簡體   English   中英

如何在 Joomla 中修改類別 Forms?

[英]How do you modify Category Forms in Joomla?

我正在創建一個小插件來修改 Joomla 中的類別 Forms(在添加/編輯類別視圖上)。

我能夠使用Joomla 網站上的教程來修改用戶配置文件、文章和菜單上的 forms; 但是,類別似乎無法正常工作。

這是我正在使用的代碼:

defined('JPATH_BASE') or die;

class plgContentCategoryType extends JPlugin {

    function onContentPrepareForm($form, $data) {

        // Load plugin language
        $lang = JFactory::getLanguage();
        $lang->load('plg_content_categorytype', JPATH_ADMINISTRATOR);

        if (!($form instanceof JForm)) {
            $this->_subject->setError('JERROR_NOT_A_FORM');
            return false;
        }

        // Check we are manipulating a valid form.
        if (!in_array($form->getName(), array('com_categories.category'))) {
            return true;
        }

        if ($form->getName()=='com_categories.category') {      
            // Add the fields to the form.
            JForm::addFormPath(dirname(__FILE__).'/forms');
            $form->loadFile('categorytype', false);
        }


    }

 }

這就是 XML 的形式:

<form>
    <fields name="params">

        <fieldset name="categorytype" label="PLG_CONTENT_CATEOGRYTYPE_FIELDSET_LABEL">

            <field name="category_type" type="list" label="PLG_CONTENT_CATEGORYTYPE_LABEL" description="PLG_CONTENT_CATEGORYTYPE_DESC">
                <option value=""></option>
                <option value="features">PLG_CONTENT_CATEGORYTYPE_FEATURES</option>
                <option value="columns">PLG_CONTENT_CATEGORYTYPE_COLUMNS</option>
                <option value="spotlights">PLG_CONTENT_CATEGORYTYPE_SPOTLIGHTS</option>
                <option value="slices">PLG_CONTENT_CATEGORYTYPE_SLICES</option>
                <option value="news">PLG_CONTENT_CATEGORYTYPE_NEWS</option>
            </field>

        </fieldset>

    </fields>
</form>

對我做錯的任何幫助將不勝感激,就像我說的那樣,它適用於任何其他類型的內容,例如,它適用於菜單。 只需更改代碼中的“名稱”。

謝謝!

實際上,Joomla 2.5 中存在一個錯誤,導致表單字段未在“編輯類別”頁面上呈現。 我們最近在我們的網站上添加了一個博客,該博客對此進行了修復。您可以在此處閱讀http://techjoomla.com/joomla-development/adding-custom-fields-to-joomla-categories-in-joomla-25 .html

已為此向 Joomla 提交補丁

我建立了一個測試平台並創建了一個類似的插件。 我呼應了 $form->getName() 的值,結果顯示為 'com_categories.categorycom_content'

對此的最佳猜測是,由於類別可以在多個上下文中使用,因此組件被附加在末尾。

所以,在你有“com_categories.category”的兩行中,用“com_categories.categorycom_content”替換它就可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM