Вывод в списке контента только виджеты

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

Как реализовать?

#1 25 февраля 2020 в 13:44
Всем привет!
Подскажите пожалуйста, как в списке контента вывести только виджеты, и запретить вывод установленного в админке стиля списка?
#2 25 февраля 2020 в 14:02
Scythian, вам нужна просто страница для вывода виджетов?
#3 25 февраля 2020 в 14:24

вам нужна просто страница для вывода виджетов?

AndroS
мне нужно, чтоб на странице списка контента, например Новости, в теле выводились только виджеты
#4 25 февраля 2020 в 15:12
Scythian
Добавляете в тип контента поле-"чекбокс", права на заполнение только админку, создаёте набор с фильтрацией по этому полю, т.к. поле не заполнено, то и записи не будут показаны. Единственный минус-будет надпись "нет элементов для отображения" (можно стилями скрыть).
#5 25 февраля 2020 в 16:39
Scythian, Вторй вариант, если нужный тип контента, не будет выводить список всегда, то создать свой шаблон вывода списка.
#6 25 февраля 2020 в 18:50
Если используете мой шаблон то создайте свой шаблон страницы и пропишите этот шаблон здесь

Например можно продублировать шаблон home или simple и в нём убрать вывод body
Там же можете сверстать страничку как то иначе

.Пример строчки: articles|simple
#7 25 февраля 2020 в 19:40

.Пример строчки: articles|simple

GoodMade

Пример двух файлов. В них убран вывод тела страницы и контейнер article

body-simple-nobody.tpl.php
  1.  
  2.  
  3. <div class="widget_ajax_wrap" id="widget_pos_left-top"><?php $this->widgets('left-top'); ?></div>
  4. <div class="widget_ajax_wrap" id="widget_pos_left-bottom"><?php $this->widgets('left-bottom'); ?></div>
  5.  
  6.  
body-default-nobody.tpl.php
  1.  
  2.  
  3. <div class="container pb-4 pt-4 paddding" id="main">
  4.  
  5. <div class="row">
  6. <div class="<?php echo $is_sidebar ? 'col-md-8' : 'col-12'; ?>">
  7.  
  8. <div class="widget_ajax_wrap" id="widget_pos_left-top"><?php $this->widgets('left-top', false); ?></div>
  9.  
  10. <div class="widget_ajax_wrap" id="widget_pos_left-main"><?php $this->widgets('left-main'); ?></div>
  11.  
  12. <div class="widget_ajax_wrap" id="widget_pos_left-bottom"><?php $this->widgets('left-bottom'); ?></div>
  13.  
  14. </div>
  15.  
  16. <?php if($is_sidebar){ ?>
  17. <div class="col-md-4">
  18. <div class="widget_ajax_wrap" id="widget_pos_right-top"><?php $this->widgets('right-top'); ?></div>
  19. <div class="widget_ajax_wrap" id="widget_pos_right-center"><?php $this->widgets('right-center'); ?></div>
  20. <div class="widget_ajax_wrap" id="widget_pos_right-bottom"><?php $this->widgets('right-bottom'); ?></div>
  21. </div>
  22. <?php } ?>
  23.  
  24. </div>
  25.  
  26. </div>
  27.  
  28.  
#8 25 февраля 2020 в 20:40

мне нужно, чтоб на странице списка контента, например Новости, в теле выводились только виджеты

Scythian
Добавляете позицию в файл scheme.html текущего шаблона. Для примера:
  1.  
  2. <table>
  3. <tr>
  4. <td>
  5. {position:blocker}
  6. </td>
  7. </tr>
  8. </table>
  9.  
В файле main.tpl.php нужную часть кода выводите с условием на отсутствие виджетов в этой позиции. Простейший пример (блокируем вывод компонента):
  1.  
  2. <?php if (!$this->hasWidgetsOn('blocker')){ ?>
  3. <?php $this->body(); ?>
  4. <?php } ?>
  5.  
Теперь сможете блокировать вывод компонента где угодно просто выводя виджет в позицию на нужных страницах
#9 26 февраля 2020 в 16:19
GoodMade, да, использую ваш шаблон. Все получилось, благодарю за подсказку и за широкие возможности вашего шаблона!
#10 26 февраля 2020 в 16:20
Олег Васильевич я, вас тоже благодарю, так как ваша подсказка может пригодится для тех сайтов, на которых стоит ваш шаблон Tseso! Огромное спасибо вам за отзывчивость и за отличный шаблон!!!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.