В настоящее время у меня есть 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.