Как автоматически переопределить шаблон для списка статей под определенной категорией?

Я создал переопределение для своей категории новостей (которая отлично работает) и другая статья переопределяют мои статьи новостей следующим образом

// Category Override
my_template/html/com_content/category/news.php
my_template/html/com_content/category/news_item.php
my_template/html/com_content/category/news_children.php
my_template/html/com_content/category/news_links.php

// Article Override    
my_template/html/com_content/article/news.php

Мой вопрос: как я могу (автоматически) применить вышеуказанную статью Override (news.php) ко всем статьям в категории новостей, не делая ее вручную для каждой статьи через «Параметры редактирования статьи» или глобально через «Менеджер статей» параметры».

введите описание изображения здесь>> </p></body></html>

6 голосов | спросил Taimur Aziz 8 J0000006Europe/Moscow 2015, 13:49:16

6 ответов


3
  1. Перейдите в раздел Content -> Диспетчер категорий
  2. Изменить категорию
  3. Перейдите на вкладку «Параметры».
  4. Назначьте свой макет в опции «Альтернативная компоновка».
ответил Nagarjun 8 J0000006Europe/Moscow 2015, 14:23:25
3

Я не думаю, что вы можете сделать это автоматически в самой Joomla.

Я бы просто создал новый макет (по умолчанию один по умолчанию), который проверяет идентификатор категории загруженной статьи, а затем решает, загружает ли он по умолчанию или новостной макет.

Немного хакерский и жестко закодированный, но должен работать.

ответил Bakual 8 J0000006Europe/Moscow 2015, 15:56:37
3

Для переопределения статьи для позиций только определенной категории,
Я думаю, вы могли бы сделать что-то подобное в /your_template/html/com_content/article/default.php

if ($this->catid==2) {
    $this->loadTemplate('news');
} else {
    $this->loadTemplate('original');
}

Я не тестировал это, но вы получите картину, я надеюсь.

ответил COBIZ webdevelopment 9 J0000006Europe/Moscow 2015, 20:28:00
2

Небольшое обновление по этому поводу: с Joomla 3.8 можно напрямую выбрать макет в пункте меню> Статьи> Блог

Этот пункт меню должен быть опубликован, конечно, но он может быть скрытым (также опция в элементе меню). И все статьи выбранной категории будут иметь назначенный макет.

Прохладный!

ответил Woluweb 13 +03002017-10-13T09:57:58+03:00312017bEurope/MoscowFri, 13 Oct 2017 09:57:58 +0300 2017, 09:57:58
1

Если вы можете жить с одним элементом меню, прикрепленным к каждой статье, используйте элемент меню, чтобы применить новый шаблон или новый стиль.

ответил Arlen 9 J0000006Europe/Moscow 2015, 21:59:43
0

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

В /my_template /html /com_content /article / У меня есть файлы default.php , default_default.php и default_altered. PHP . Default.php только решает, какой из других файлов загружается. Я проверил два способа сделать это.

На основе идентификатора категории:

if ($this->item->catid==19) {
  echo $this->loadTemplate('altered');
} else {
  echo $this->loadTemplate('default');
}

Или на основе активного идентификатора элемента меню:

$menuid = JFactory::getApplication()->getMenu()->getActive()->id;
if ($menuid==107) {
  echo $this->loadTemplate('altered');
} else {
  echo $this->loadTemplate('default');
}

Я не знаю, является ли это идеальным решением (я просто изучаю его сам), но это сработало для меня. : -)

ответил Matej 4 PMpTue, 04 Apr 2017 17:20:44 +030020Tuesday 2017, 17:20:44

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132