从1.6开始,我相信,有一种在您自己创建的组件中使用“类别”的通用方法。默认的Joomla组件也使用它。例如:联系人,新闻源和网络链接组件都使用通用com_categories功能来实现分类内容。
目前我正在创建一个也有类别的组件,所以我想使用通用的Joomla类别函数来实现这一目标。
状态:目前我有以下内容:
我的问题:现在我想在我的类别中添加特定字段,让我们说:'类别主持人'。
所以我走到了com_categories的代码,在以下文件'administrator \ components \ com_categories \ models \ category.php'中有代码(第270行)来查找特定的组件代码,如下所示: / p>
// 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"/>
除了不足以添加输入.. 所以我查看了管理员/ components / com_categories / views / category / edit.php模板中的提示,如何实现这一点。但是没有代码可以为我的组件添加特定的输入(或者我错了;))..
字段的添加非常具体,如:
<li><?php echo $this->form->getLabel('title'); ?>
<?php echo $this->form->getInput('title'); ?></li>
我也看过是否能以某种方式覆盖edit.php,但不幸的是我还没找到它..
简短:任何人都知道如何将通用字段添加到类别编辑页面?
答案 0 :(得分:1)
您可以使用插件来执行此操作(您可以查看内置用户配置文件插件,例如:/ plugins / user / profile)。但是如果你想添加一个“类别主持人”,我认为你可以使用ACL实现它。