从 1.6 开始,我相信,在您自己创建的组件中使用“类别”的通用方法。默认的 Joomla 组件也使用它。例如:联系人、新闻源和网络链接组件都使用通用的 com_categories 功能来实现分类内容。
目前我正在创建一个也有类别的组件,所以我想使用通用的 Joomla 类别函数来实现这一点。
状态:目前我有以下内容:
- 我的组件中有一个子菜单“类别”,它链接到通用类别组件,其中包含一些额外的选项。选项在那里,因此页面将在保存时重定向回我的组件。这很容易!但..
我的问题:现在我想将特定字段添加到我的类别中,比如说:“类别版主”。
所以我走到了 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,但不幸的是我还没有找到它..
简短:任何人都知道如何将通用字段添加到类别编辑页面?