Шаблоны для наборов

ЕСТЬ РЕШЕНИЕ
#1 5 февраля 2024 в 23:15

Здравствуйте, уважаемые.

Появилась необходимость задать разным наборам контента разные шаблоны вывода. Не нашел есть ли такая возможность из коробки. Если нет, примерно как это реализовать? 

Добавлено спустя 22 часа

В добавок к разным шаблонам, возможно ли выводить в наборах разные поля? 

#2 6 февраля 2024 в 13:55

Здравствуйте, уважаемые.

Появилась необходимость задать разным наборам контента разные шаблоны вывода. Не нашел есть ли такая возможность из коробки. Если нет, примерно как это реализовать? 

В добавок к разным шаблонам, возможно ли выводить в наборах разные поля? 

boom

Привет! Сам недавно ковыряюсь в движке😉, вроде как то так нужно:

templates/ваша тема/content — есть шаблон default_item.tpl.php, который используется по умолчанию для вывода (показа) записей контента. Для определённого контента можно создать в данной папке шаблон "системное-имя-контента_item.tpl.php"(как пример, для типа контента доски объявлений это будет board_item.tpl.php). В результате движок подтянет переопределенный шаблон вместо дефолтного. Системные имена указаны в админке, в типах контента (задаются собственноручно при создании типа контента).

#3 6 февраля 2024 в 15:09

 Семён Иваныч, Вы не поняли, мне нужно не к разным типам контента разный шаблон.

А разные шаблоны списка в разных наборах одного типа контента. Кто-нибудь из гуру подскажет в какую сторону копать?

#4 6 февраля 2024 в 16:42

Копайте в сторону хука content_before_list.php

Вот к примеру я что то делал со стилями, вроде порядок менял, вы можете определить текущий набор и сменить стиль

  1. list($ctype, $items) = $data;
  2.  
  3. if (!empty($ctype['options']['raw_list_style'])){
  4. $active = '';
  5. if ($this->cms_core->request->has('style')){
  6. $active = $this->cms_core->request->get('style');
  7. }
  8. foreach ($ctype['options']['raw_list_style'] as $list_style) {
  9. if ($list_style == 'hotels_map'){
  10. $new_list_styles[2] = $list_style;
  11. } else if ($list_style == 'hotels_grid'){
  12. $new_list_styles[1] = $list_style;
  13. } else {
  14. $new_list_styles[0] = $list_style;
  15. }
  16. if ($active && $active == $list_style){
  17. $ctype['options']['list_style'] = $list_style;
  18. }
  19. }
  20. if (!$active){
  21. $ctype['options']['list_style'] = 'hotels';
  22. }
  23. ksort($new_list_styles);
  24. $ctype['options']['raw_list_style'] = $new_list_styles;
  25. }
  26.  
  27. return [$ctype, $items];
  28.  
#5 7 февраля 2024 в 02:16

 My-InstantCMS.Ru, спасибо за подсказку, проблему решил!

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.