添加类别参数

时间:2013-09-24 07:53:04

标签: joomla joomla2.5 joomla3.0

我正在使用原生的Joomla类别开发扩展。我想在类别编辑器中添加一个额外的参数,仅在编辑我的扩展程序类别时使用。

问题: 是否可以不覆盖Joomla核心文件?

3 个答案:

答案 0 :(得分:2)

实际上,经过一夜的无眠,我能够找到优雅的原生解决方案。 不幸的是Joomla开发人员没有记录它,但似乎在你的扩展中你创建了文件: /administrator/components/com_YourName/models/forms/category.xml并在其中添加一个字段集“attribs”,它会自动出现在您的分机的类别管理器中。 category.xml的示例代码在这里:

<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="attribs">
        <fieldset name="attribs" label="Group settings">
            <field name="group_id" type="list" default="" label="Select group:">
                <option value=""></option>
                <option value="1">Group 1</option>
                <option value="2">Group 2</option>
                <option value="3">Group 3</option>
            </field>
        </fieldset>
    </fields>
</form>

答案 1 :(得分:2)

之前的答案(新的XML文件)非常接近,但在Joomla 3.x中并不常用。为了使它工作,我不得不将fields元素的name属性更改为&#34; params&#34;如下:

<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="params">
        <fieldset name="basic" label="Group settings">
            <field name="group_id" type="list" default="" label="Select group:">
                <option value=""></option>
                <option value="1">Group 1</option>
                <option value="2">Group 2</option>
                <option value="3">Group 3</option>
            </field>
        </fieldset>
    </fields>
</form>

这样,自定义选项会显示在类别编辑屏幕的选项标签中。

此外,如果组件中有多种类别(例如,&#34; com_mycomponent.mycategorytype&#34;),则需要创建XML文件的名称&#34; category.mytype .XML&#34 ;.

答案 2 :(得分:1)

<强>已更新

是的,这也可以在不破解核心文件的情况下完成。

您可以为管理员 com_categories 组件创建模板覆盖。

复制此文件:

administrator/components/com_categories/views/category/tmpl/edit.php

在此路径中(您需要创建相应的目录):

administrator/templates/bluestork/html/com_categories/category/edit.php

在这个新文件中,您可以完成所有魔法。

如果您需要更高级的内容,可以使用允许覆盖模型和组件的任何其他部分的插件:Plugin Override