Отображение материала Joomla в Shadowbox без шапки, подвала и всего остального

Появилась задача сделать в Джумле так, чтобы при нажатии на ссылку материала, он открывался в лайтбоксе. Джумла 2.5 (кстати, есть мнение, что и в 1.5 будет работать). Берем и делаем.

Для начала, определимся. Если у нас в шаблоне не предусмотрена возможность верстки своего макета для вывода материалов в категории — открываем этот файл:

/components/com_content/views/category/tmpl/blog_item.php

Это, конечно, сильно плохо, потому что Джумла обновляется (это, соответственно, хорошо) и при обновлении этот файл перезапишется новым.

На тот случай, если мы подсуетились заранее и в папке шаблона в папке html сделали папку com_content и туда заботливо скопировали все из

/components/com_content/views

то обновление нам не страшно, а наоборотЮ пусть себе обновляется — наши труды оно не затрет.

Соответственно, файл будет лежать тут:

/templates/ШАБЛОН/html/com_content/category/blog_item.php

Так вот, открываем его и в строке 28 пишем следующее:

<a rel="shadowbox;width=600;height=600" target="_blank" href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>?tmpl=component">

То есть, добавляем

?tmpl=component

к ссылке в конце.

Тоже самое можно проделать в файле default_articles.php в строке 105.

Тут есть подводный камень. Если мы используем ЧПУ — вставляем то, что я написал. Если используются параметрические ссылки (типа index.php?option=com_plugins&view=plugin…) — вставляем это:

&tmpl=component

Один знак поменялся. Фича в том, что когда у нас в адресной строке уже есть какие-то значения (как в случае с параметрической ссылкой) — мы может добавить новое как раз с помощью ‘&’ , но если у нас ничего нет — начинаем добавлять значения в GET со знака вопросика ‘?’.

А вообще, нужно почитать про то, что такое URL. Если я для кого-то сейчас Америку открыл.

Еще мы добавили в начале тега A вот такие буквы:

rel="shadowbox;width=600;height=600" target="_blank"

Их не было по умолчанию, можете проверить 🙂

Главное — не забудьте ?tmpl=component, иначе окно будет открываться, но в нем будет вся страница вмместе с меню, подвалом, шапкой и прочими прелестями.

Что это значит (для тех, кто из бронепоезда только за хлебом выходит): «Атрибут rel определяет отношения между текущим документом и документом, на который ведет ссылка, заданная атрибутом href.» (c) HTMLBook.

Еще есть target — он загружает страницу в новое окно браузера.

Теперь к самому важному, а именно — «почему не работает«. Чтобы заработало, надо прикрутить к этому добру сам shadowbox. Плагин для Джумлы называется Shadowbox Media Viewer. Ссылок давать смысла не вижу — плагин без труда гуглится, причем версия самая новая. Настроек там — тьма тьмущая, на сайте разработчиков есть мануал, который до вполне вменяемого состояния переводится гуглопереводчиком.

Ну, вроде с этим все… Удачи. Спрашивайте.

0

Добавить комментарий