根据类别向joomla frontend edit.php添加自定义字段

时间:2017-01-13 07:30:01

标签: php joomla

我在joomla com_content文章中添加了一些带插件的自定义字段。我需要在前端编辑器中编辑这些字段,但字段应该只根据类别显示。如果我在前端编辑器中选择类别43时出现该字段。

实际上,这些字段显示在articletext字段上方的所有类别中。

edit.php:

<div class="tab-pane active" id="editor">
    <?php echo $this->form->renderField('title'); ?>

    <?php if (is_null($this->item->id)) : ?>
        <?php echo $this->form->renderField('alias'); ?>
    <?php endif; ?>

    <!-- custom fields -->
    <?php echo $this->form->renderField('typ', 'attribs'); ?>
    <?php echo $this->form->renderField('notizen', 'attribs'); ?>
    <!-- end custom fields -->

    <?php echo $this->form->getInput('articletext'); ?>
</div>

我可以根据edit.php中的类别ID使用if else,还是有其他解决方案?

1 个答案:

答案 0 :(得分:0)

我很确定您可以访问表单对象中的类别。尝试像

这样的东西
$category = $this->form->getValue('catid');
$only_on_these = array(10, 20, 30); // special categories
if (in_array($category, $only_in_these)) {
  // render your custom fields
  echo $this->form->renderField('typ', 'attribs');
  echo $this->form->renderField('notizen', 'attribs');
}
...

这适用于编辑现有内容,但您需要对新文章进行一些特殊处理,强制它们使用某些类别进行初始化,具体取决于您希望如何工作。