1

从 1.6 开始,我相信,在您自己创建的组件中使用“类别”的通用方法。默认的 Joomla 组件也使用它。例如:联系人、新闻源和网络链接组件都使用通用的 com_categories 功能来实现分类内容。

目前我正在创建一个也有类别的组件,所以我想使用通用的 Joomla 类别函数来实现这一点。

状态:目前我有以下内容:

  1. 我的组件中有一个子菜单“类别”,它链接到通用类别组件,其中包含一些额外的选项。选项在那里,因此页面将在保存时重定向回我的组件。这很容易!但..

我的问题:现在我想将特定字段添加到我的类别中,比如说:“类别版主”。

所以我走到了 com_categories 的代码,在下面的文件 'administrator\components\com_categories\models\category.php' 中有代码(第 270 行)来查找特定的组件代码,如下所示:

// Looking first in the component models/forms folder
$path = JPath::clean(JPATH_ADMINISTRATOR."/components/$component/models/forms/$name.xml");

因此,组件(在我的情况下)在文件夹中查找:administrator/components/mycomponent/models/forms/category.xml 以获取特定组件信息。

现在,在 com_categories 的默认 category.xml 中有关于编辑屏幕的信息,如下所示:

<field
    name="title"
    type="text"
    label="JGLOBAL_TITLE"
    description="JFIELD_TITLE_DESC"
    class="inputbox"
    size="40"
    required="true"/>

所以类别的标题显然是必需的..

所以我想我在这个文件中添加一行:

<field
    name="moderator"
    type="text"
    label="JGLOBAL_MODERATOR"
    description="JFIELD_MODERATOR_DESC"
    class="inputbox"
    size="40"
    required="true"/>

除了添加输入还不够。所以我查看了管理员/组件/com_categories/views/category/edit.php 模板中的提示,如何实现这一点。但是没有代码可以为我的组件添加特定的输入(或者我错了;))..

添加的字段非常具体,例如:

<li><?php echo $this->form->getLabel('title'); ?>
<?php echo $this->form->getInput('title'); ?></li>

我还查看了是否可以以某种方式覆盖edit.php,但不幸的是我还没有找到它..

简短:任何人都知道如何将通用字段添加到类别编辑页面?

4

1 回答 1

1

您可以使用插件来做到这一点(例如,您可以查看内置的用户配置文件插件: /plugins/user/profile )。但是如果你想添加一个“Category Moderator”,我认为你可以使用 ACL 来实现它。

于 2011-11-23T18:58:47.137 回答