3668  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