3975  2

#joomla[fag] :: определяем тип представления (view) контента (com_content) для текущей страницы сайта

В этой небольшой статье мы разберём, как определить текущее представление типа контента com_content в CMS Joomla!

#joomla[fag] :: определяем тип представления (view) контента (com_content) для текущей страницы сайта

Всего в стандартной комплектации CMS Joomla! есть 7 (семь) подтипов меню, которые относятся в административной части CMS Joomla! к типу меню «Менеджер материалов»:

  1. Архивные материалы;
  2. Блог категории;
  3. Избранные материалы;
  4. Материал;
  5. Создать материал;
  6. Список всех категорий;
  7. Список материалов категории.

Давайте более подробно пройдемся по каждому пункту из представленных подменю.

1. Архивные материалы

Системная ссылка, которая соответствует этому типу меню (index.php?option=com_content&view=archive), приводит нас к списку материалов, которые отнесены к состоянию материалов «Архивный». При этом, мы можем вывести, в зависимости от указанных опций в параметре «Категория», или все архивные материалы совсех категорий разом, или только из выбранных категорий.

2. Блог категории

Перечень материалов выбранной категории соответствует системной ссылке (index.php?option=com_content&view=category&layout=blog).

3. Избранные материалы

Список материалов, которые отмечены, как избранные (index.php?option=com_content&view=featured).

4. Материал

Ссылка меню типа «Материал» представляет переход на конкретный материал вашего сайта (index.php?option=com_content&view=article).

5. Создать материал

Ссылка меню «Создать материал» ведёт к форме создания материала (index.php?option=com_content&view=form&layout=edit).

6. Список всех категорий

Выводит список всех категорий (если выпрать пункт выпадающего меню «Корень»), или список подкатегорий определённой карегории материалов (index.php?option=com_content&view=categories).

7. Список материалов категории

Здесь название меню говорит наиболее само за себя, переход по ссылке этого типа меню, выводит пользователю материалы категории в виде списка (index.php?option=com_content&view=category).

Итак…

Теперь, перейдём к вопросу, ради котого мы и городили весь этот огород :) А именно, как мы видим, в данном случае, все наши подменю имеют один и тот же тип – «Content» (option=com_content). Но… Все они имеют разные типы представления «View». Каждому из них CMS Joomla! предоставляет собственный шаблон представления с собственными настройками.

Однако, что если нам в нашем общем шаблоне, или в шаблоне представления какого либо компонена нужно получить значение текущего типа представления контента («View»)?

В этом случае, мы можем воспользоваться в нашем коде PHP глобальным объектом CMS Joomla!«Application».

$app        = JFactory::getApplication();
$inputParam = $app->input;
$view       = $inputParam->get('view');

Теперь, имея в переменной $view значение типа представления, если нам, например, нужно разместить код кнопок «Поделиться» только на страницах материалов, мы можем использовать следующий код:

<?php if ($view == 'article') : ?>
<-- Здесь ваш код -->
<?php endif; ?>

Ну, и в качестве бонуса, конструкцией в первом блоке кода, мы можем определять не только, какой тип представления сейчас на странице, но и какой тип контента. Например, нам нужно разместить кнопки блока «Поделиться» только на страницах, где выводится контент сайта, и не выводить на страницах, например, авторизации. Тогда тип контента (option) должен быть только com_content.

$app        = JFactory::getApplication();
$inputParam = $app->input;
$view       = $inputParam->get('option');

Проверяем, соответствует ли тип контента требуемому, и если да (true), то выводим на страницу нужный нам контент:

<?php if ($option == 'com_content') : ?>
<-- Здесь ваш код -->
<?php endif; ?>

Если вам понравилась эта статья – комментируйте, делитесь в социальных сетях (кнопки «Поделиться» слева страницы).

Удачи, Мира и Добра!

Перевод Игорь КРУК

Игорь КРУК

перевод с украинского

Создание лэндингов, сайтов-визиток, корпоративных сайтов, веб-порталов и интернет-магазинов на разных платформах в разумные сроки и…
за разумные деньги.

Если вы уже зарегистрированы на этом сайте, или уже оставляли здесь свои комментарии, отзывы, заявки на участие в акциях, чтобы добавить ещё один комментарий – авторизуйтесь

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

© «ArtInWeb.biz» – веб-разработка полного цикла

Последний раз редактировалось: 04/04/2020