Вывод списка записей с разбивкой на категории в 2.12.2. Возможно?

InstantCMS 2.X
#1 17 июля 2019 в 22:39
В коробке есть вариант вывода только общим списком. Возможно вывести список сразу с разбивкой по категориям? Именно шаблон для списка такой, а не виджетами.
Что можно скорректировать в шаблоне вывода списка, чтобы произошла такая группировка с выводом заголовков категорий?

Вариант:

Категория 1
Заголовок записи
Заголовок записи
Заголовок записи
Заголовок записи
(кнопка "показать еще" на аяксике подгрузка следующих 20 записей)

Категория 2
Заголовок записи
Заголовок записи
Заголовок записи
Заголовок записи
(кнопка "показать еще" на аяксике подгрузка следующих 20 записей)

Категория 3
Заголовок записи
Заголовок записи
Заголовок записи
Заголовок записи
(кнопка "показать еще" на аяксике подгрузка следующих 20 записей)
#2 18 июля 2019 в 00:20
Я бы это сделал всего одним виджетом «Категории» и несколькими строками в шаблоне этого виджета. Тут у вас нет подкатегорий и не нужно ничего заморачиваться. Я таким образом даже выводил контент с подкатегориями. Тогда код, конечно, чуть больше будет.
Для вашего случая этот код будет достаточен:
  1. <?php $zapisi = cmsCore::getModel('content')->getContentItems($ctype_name); ?>
  2. <div class="widget_content_tree">
  3. <?php foreach($cats as $item){ ?>
  4.  
  5. <?php if ($item['ns_level'] != 1) continue; ?>
  6.  
  7. <h2><?php html($item['title']); ?></h2>
  8. <?php foreach($zapisi as $zapis) { ?>
  9. <?php if($zapis['category_id'] != $item['id']) continue; ?>
  10. <p><?php echo $zapis['title']; ?></p>
  11. <?php } ?>
  12.  
  13. <?php } ?>
  14. </div>
#3 18 июля 2019 в 09:44


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

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  

islyaeFF

Так вот как раз я нахожусь когда в категории типа контента, там есть записи, которые вложены в подкатегории. Поэтому и хочу именно в списке вывести в разбивкой, т.к надо еще будет и постранично возможно выводить, если позиций очень много будет или с подгрузкой на аяксике.
#4 18 ноября 2019 в 14:08
Я лично пробую удалять по категориям. Дольше бывает но получается исправить с наименьшей головной болью
#5 18 ноября 2019 в 14:16
Или так что даже проще всего

Код PHP:
<?php $zapisi = cmsCore::getModel('content')->getContentItems($ctype_name); ?>
<div class="widget_content_tree">
<?php foreach($cats as $item){ ?>

<?php if ($item['ns_level'] != 1) continue; ?>

<h2><?php html($item['title']); ?></h2>
<?php foreach($zapisi as $zapis) { ?>
<?php if($zapis['category_id'] != $item['id']) continue; ?>
<p><?php echo $zapis['title']; ?></p>
<?php } ?>

<?php } ?>
</div>
#6 19 ноября 2019 в 12:56
Форум же примерно по такой схеме организован?
#7 19 ноября 2019 в 13:37

Или так что даже проще всего

@Erick

Для вашего случая этот код будет достаточен:

islyaeFF
А как можно сделать список в 4 колонки?
#8 19 ноября 2019 в 14:14

А как можно сделать список в 4 колонки?

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