Дополнительное описание категории JBZoo

Опубликовано: 19.Окт в 17:24

Автор:

Категории: Joomla

Тэги:

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

Часто возникает задача вывести дополнительно описание внизу категории. Это можно решить двумя способами: созданием html-модулей и публикация их под контентом на страницах категорий, или созданием дополнительных полей для категории JBZoo.
В базе у категории есть только несколько полей: id, название, описание, родительская категория, публикация и параметры. Большинство значения полей записываются в параметры и для их изменения или добавления новых не нужно менять структуру базы данных. Это поля расположенные справа на странице редактирования категории в админке.
Сделать это можно следующим образом:
1. Открываем media/zoo/applications/blog/aplication.xml и внутри группы <params group=»category-content»>, после строчки

добавляем новое поле с названием ourname — оно должно быть уникальным.

Поле добавилось в админку.

2. Выводим в шаблоне категории

В базе добавлять ничего не надо, там значение этого поля запишется в поле params вместе со всей группой category-content.
Таких полей может быть несколько . Вместо текстового поля можно добавить специальное поле добавления изображения JBZoo. Для этого тип вместо type=»text»  нужно указать type=»zooimage». В выводе получим src картинки и добавим его в тег img.

Это удобно, но есть одно но, даже если вы создадите дополнительное поле textarea, у него не будет редактора.

Как же сделать поле для дополнительного описания и с редактором.
1. Для начала добавим его на страницу админки. Открываем файл administrator/components/com_zoo/views/category/tmpl/edit.php Копируем блок с полем Описания и добавляем его в нужном месте, обязательно заменив название поля.

Поле мы назвали description_down. Оно появилось, но пока не сохраняет ни какой информации.
2. Необходимо ячейку в базе данных. Заходим в phpMyAdmin. Открываем БД сайта, находим таблицу jos_zoo_category (префикс таблицы у вас может быть другим). Открываем таблицу, выбираем вкладку структура. И добавляем новое поле. Указываем имя нашего поля, в данном случае description_down, выбираем тип TEXT и выставляем сравнение, обычно utf-8_general_ci.

category_down

Теперь наше поле текст сохраняет, но вырезает HTML-теги. Исправим следующим образом.
3. Открываем файл administrator/components/com_zoo/controllers/category.php. Находим строку

и сразу после нее добавляем

Теперь в админке все сохраняется корректно. Осталось только вывести непосредственно в самом шаблоне.

4. Открываем файл media/zoo/applications/jbuniversal/templates/default/category.php В нужном месте вставляем вывод:

Вот и все. Полей можно добавлять любое количество. Так же можно вывести в категории JBZoo простое текстовое поле (вида input type=»text»).

Всего комментариев: 0

Оставить комментарий

Ваш email не будет опубликован.

Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">