Использование функций общих категорий Joomla 1.7 - PullRequest
1 голос
/ 23 ноября 2011

Начиная с версии 1.6, я считаю, есть универсальный способ использования «категорий» в ваших собственных созданных компонентах.Компоненты Joomla по умолчанию также используют это.Например: компоненты contact, newsfeeds и weblinks используют универсальную функцию 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 для конкретной информации о компонентах.

Теперь,в файле category.xml по умолчанию для com_categories есть информация об экране редактирования, например:

<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 как-нибудь, но, к сожалению, я его не нашел ..

Short : Кто-нибудь знает, как добавить универсальные поля на страницу редактирования категории?

1 Ответ

1 голос
/ 23 ноября 2011

Вы можете сделать это с помощью плагинов (вы можете посмотреть на встроенный плагин профиля пользователя, например: / plugins / user / profile).Но если вы хотите добавить «Модератора категории», я думаю, вы могли бы добиться этого с помощью ACL.

...