Альтернативный макет для статьи на основе категории в Joomla 2.5

В настоящее время у меня есть 2 «макета» для статей в моей установке Joomla 2.5

default.php default_links.php feature_link.php feature_link.php 

которые работают по назначению, когда каждый выбран на экране «Редактировать статью» в «Менеджере статей» в разделе «Альтернативные макеты».

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

Я вижу, что вы можете выбрать «Альтернативный макет» в разделе «Диспетчер категорий», но это указывает макет в представлении «Категория» для «com_content» (в отличие от компоновки статей WITHIN этой категории).

Я также просмотрел «Параметры статьи», доступные в качестве параметров при создании пункта меню «Блог категории», однако, к сожалению, вы не можете переопределить или указать здесь «Альтернативный макет», который будет казаться наиболее очевидным местом.

TL; DR; – Могу ли я настроить Joomla для установки раскладки на уровне статьи на основе категории этой статьи?

Хорошо, это хороший вопрос. Возможно, вы могли бы сделать свой макет по умолчанию своего рода коммутатором: поместите обычный макет в нечто вроде normal.php и special, как special.php, и укажите default.php, к какой категории относится данная статья. Затем включите код соответствующего файла макета … Просто идея.

Как это…

default.php:

 <?php ... $specialCategory = 42; // the id of your special category if($this->item->catid == $specialCategory){ include "special.php"; }else{ include "regular.php"; } ?> 

Обратите внимание, что я не пробовал до сих пор …

Изменить: я просто нашел это в представлении входа com_users:

default.php

 if ($this->user->get('guest')): // The user is not logged in. echo $this->loadTemplate('login'); else: // The user is already logged in. echo $this->loadTemplate('logout'); endif; 

Файлы в папке tmp называются default.php, default_login.php и default_logout.php.