2011-11-23 62 views
1

从1.6开始,我相信,在您自己创建的组件中使用'categories'是一种通用的方法。默认的Joomla组件也使用它。例如:联系人,新闻推送和网站链接组件都使用通用的com_categories功能来实现分类内容。使用Joomla 1.7泛型类别函数

目前我正在创建一个也有类别的组件,所以我想使用通用的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"); 

所以看起来部件(对我来说)的文件夹中:管理员/组件/ myComponent的/模型/表格/特殊部件信息category.xml。现在

,在com_categories的默认category.xml有关于编辑画面的信息,如下所示:

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

所以类别的标题是apparantly需要..

所以我想我添加一行到此文件:

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

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

字段添加非常具体,如:

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

我也看了,如果我可以在此改变edit.php不知何故,但不幸的是我还没有找到它..

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

+0

我想弄清楚同样的事情。如果你想出来,请发布。谢谢。 – milan

+0

嗨米兰,请看下面的答案。对不起,我无法进一步帮助你。 – NickGreen

回答

1

您可以使用插件(您可以看看内置的用户配置文件插件,例如:/ plugins/user/profile)。但是如果你想添加一个“类别版主”,我想你可以使用ACL来实现它。

+0

奥克我会在大约3小时内尝试你的选择(插件),保持张贴;)。关于你的ACL建议:这很好,但“主持人”字段只是一个例子。在我的情况下,这是另一个与ACL无关的字段;)。此外,我还希望控制视图,以便可以在特定类别的编辑/列表页面上添加文本和其他内容。 – NickGreen

+0

嗯我调查了一个插件的选项,但它似乎不适合我的情况..我会采取另一条道路,因为它需要在一天内完成。我要复制我需要的com_categories的功能,并添加我的特定需求/逻辑。感谢您的时间和时间!因此+1。 – NickGreen

+0

对不起,它没有帮助!我已经使用这种方法为com_content文章添加标签系统,并且对我来说工作得很好。不过,我知道,实施它还不明显,直到你有一段时间才开始工作。问候 – alghimo