Nano Hash - криптовалюты, майнинг, программирование

Использование общих функций категорий Joomla 1.7

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

За исключением того, что этого недостаточно, чтобы добавить ввод. Итак, я посмотрел в шаблоне administrator/components/com_categories/views/category/edit.php подсказки, как этого добиться. Но нет кода для добавления конкретных входных данных для моего компонента (или я ошибаюсь;))..

Поля добавляются довольно специфично, например:

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

Я также искал, могу ли я как-то переопределить edit.php, но, к сожалению, я его не нашел.

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


  • Я пытаюсь понять то же самое. Отпишитесь, если разберетесь. Спасибо. 16.12.2011
  • Привет, Милан, см. мой ответ на ответ ниже. Извините, я больше не могу вам помочь. 19.12.2011

Ответы:


1

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

23.11.2011
  • Окей попробую твой вариант (плагин) часа через 3, держи в курсе ;). И насчет вашего предложения по ACL: это хорошо, но поле «Модератор» было просто примером. В моем случае это другое поле, не имеющее никакого отношения к ACL;). Кроме того, я также хочу контролировать представление, чтобы я мог добавлять текст и другие материалы на страницу редактирования/списка определенной категории. 24.11.2011
  • Хм, я изучил варианты с плагином, но он не подходит для моего случая. Я пойду другим путем, потому что это нужно сделать за день. Я скопирую функции com_categories, которые мне нужны, и добавлю к ним свои конкретные потребности/логику. Спасибо за ваши усилия и время! +1 поэтому. 24.11.2011
  • Мне жаль, что это не помогло! Я использовал этот подход, чтобы добавить систему тегов к статьям com_content, и он отлично сработал. Тем не менее, я знаю, что реализовать это не очевидно, пока вы не поработаете над этим какое-то время. С Уважением 24.11.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..