Загрузка...

C момента выхода Joomla 1.6 прошло еще совсем немного времени, но я вижу все больше расширений, которые уже переведены или будут переведены в ближайшее время на новую версию этой CMS. Тем не менее, Joomla 1.5 никуда не денется и многие сайты даже сейчас делаются именно на ней. В этой статье я хочу рассказать про одно замечательное расширение для Joomla 1.5, которое позволяет очень гибко управлять модулями CMS.  Даже более гибко, чем Joomla 1.6.

Хотели ли вы когда-нибудь вывести модуль только на странице с определенной статьей или категорией? А может быть только для определенного компонента, например, VirtueMart? Или же представьте: модуль показывается только в определенный день недели, или даже в определенную минуту, или только для определенных пользователей сайта(не групп, а именно пользователей!). Этого мало? Нужен верх свободы?  Тогда выводите ваш модуль на любой странице сайта, выбранной по URL. Поначалу это кажется фантастикой, но для Joomla 1.5 создано расширение, позволяющее делать все это буквально за пару кликов.  И оно бесплатное. Интересно? Тогда читайте дальше…

Многие web-мастера, еще не имеющие большого опыта работы с Joomla и не знающие php, часто задают вопрос о том, как вывести модуль только при выполнении определенных условий, например, только на странице с определенным материалом. Также существует проблема, заключающаяся в том, что модуль можно привязать или ко всем страницам сайта или только к определенным пунктам меню. При этом существенным недостатком Joomla 1.5 является то, что отобразить модуль только в определенном компоненте – задача достаточно сложная(для новичка). Особенно остро это проявляется в работе с VirtueMart. Часто меня спрашивают: «Как можно вывести определенный модуль только для магазина VirtueMart и не выводить его для остальных страниц Joomla?». Простой привязкой VirtueMart к пункту меню и назначением модуля только на этот пункт не обойтись. Я объяснял на форуме с чем это связанно – кроме точки входа в магазин непосредственно из меню, на сайте могут быть и другие. Например, есть, скажем, модуль последних поступлений в магазин, и он должен отображаться на всех страница сайта, а есть модуль прокрутки товаров, он должен отображаться только на страницах магазина. Если человек зайдет в магазин через пункт меню, на который он(магазин) назначен, то все будет правильно. Модуль прокрутки появится. Если же человек перейдет на один из товаров магазина через модуль последних товаров, то модуль прокрутки не появится. Это связанно с тем, что человек попал в магазин, не активировав нужный пункт меню. Т.к. модуль прокрутки товаров будет связан именно с этим пунктом меню, то, естественно, он не появится. Если все вышеописанное кажется слишком сложным, то не думайте над этим. Если возникнет подобная задача, все станет понятно.

Для решения задач, подобных описанной выше, Joomla не предусматривает встроенных инструментов администрирования. Если знания php позволяют, то для небольших задач можно обойтись правкой кода шаблона, но если знаний нет, или подобных модулей довольно много, незаменимым может оказаться расширение Advanced Module Manager.

Advanced Module Manager я буду называть именно «расширение», а не компонент, модуль или плагин. Реально это компонент и плагин, но «расширение» подходит все же больше. Advanced Module Managerвносит изменения в админку сайта, а именно в менеджер модулей Joomla и все, что с ним связанно. Это расширение создано для того, чтобы помочь администратору сайта более гибко управлять модулями.

Начнем со ссылок на скачивание Advanced Module ManagerВот ссылка на сайт разработчика, а вот на страницу в каталоге Joomla. Редкий случай, но советую зайти именно на сайт разработчика. Этот сайт, к слову говоря, мне очень нравится. Все максимально доступно и удобно. На страничке, которая откроется по ссылке, можно будет прочитать описание расширение, посмотреть скриншоты и примеры, а также скачать Advanced Module Manager и русификацию к нему. После установки Advanced Module Manager менеджер модулей будет выглядеть следующим образом:

Advanced Module Manager

 Здесь появились следующие функции:
  • возможность просмотра настроек любого модуля во всплывающем окне(функция сомнительная, но кому-то может понравиться);
  • возможность просмотра дополнительных примечаний по каждому модулю(это удобно, если модулей много);
  • дополнительные фильтры отображения модулей по уровню доступа к модулю и по связи модуля с пунктами меню.

Но это все мелочи. Самое интересное начинается когда мы заходим в настройки любого из модулей. Вот так теперь выглядит окно редактирования модуля:

Advanced Module Manager

В окне «Подробности» появилась опция «Скрыть пустой модуль» – используется для предотвращения вывода рамки модуля, который ничего не содержит. Кроме того немного изменилась форма выбора позиции модуля и добавилось поле описания, текст из которого будет показан во всплывающей подсказке к модулю(см. выше). В окне «Параметры» появилась вкладка «Отображение модуля по условиям». В ней-то и хранится самое интересное:

Advanced Module Manager

 

В самом верху вкладки мы видим две опции:

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

 Режим сравнения условий – есть два режима «И» и «ИЛИ». В случае «И» модуль будет показан только тогда, когда выполняются все условия, указанные ниже. В случае «ИЛИ» модуль будет показан когда выполняется хотя бы одно из условий.

Дальше идут всевозможные условия отображения. Рассмотрим их ниже:

1. Пункты меню.

Advanced Module Manager

Практически то, что и было в стандартном менеджере, но с некоторыми добавлениями.

2. Материалы.

Advanced Module Manager

Здесь мы можем выбрать категории, разделы и отдельные материалы в которых будет/не будет показан модуль.

3. Компоненты.

Advanced Module Manager

Список компонентов, которые можно связывать с модулем. Набор компонентов не велик, но функциональность Advanced Module Manager позволяет сделать подобную фильтрацию и для других компонентов – была бы смекалка.

4. URL.

Advanced Module Manager

Список URL для которых модуль будет/не будет показан.

5. Интернет-обозреватели.

Advanced Module Manager

Список браузеров пользователей для которых модуль будет/не будет показан(Еще один способ  намекнуть владельцам IE6, что пора бы  обновить браузер).

6. Дата и время.

Advanced Module Manager

Здесь мы можем задать любые временные интервалы в которые модуль будет показан/скрыт.

7. Пользователи.

Advanced Module Manager

Здесь мы можем определить пользователей/группы пользователей, которые будут/не будут иметь доступ к модулю.

8. Языки.

Advanced Module Manager

 Здесь мы можем определить языки, при которых модуль будет показан/скрыт.

9. Шаблоны.

Advanced Module Manager

Здесь задаются шаблоны, при которых модуль будет показан/скрыт.

10. PHP.

Advanced Module Manager

 Для тех, чьи требования не смогли удовлетворить условия, описанные выше, создано условие свободного php-кода. Здесь уже можно вообще насочинять что угодно – были бы знания.

Кроме всего вышеописанного Advanced Module Manager имеет настройки. Их можно сразу не заметить, т.к. находятся они в п

{

}