Вид виджета - Список контента

#1 7 марта 2025 в 19:31

Просмотрев много сайтов сделанных на InstantCMS 2, обратил внимание, что у многих стоят виджеты вот такого вида.

Вид виджета №1 

Изображение

Вид виджета №2

Изображение

Установил виджет -Список контента, менял шаблоны и стили виджета, но к такому результату не пришел. На вид вроде бы все просто.

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

#2 7 марта 2025 в 20:23

При помощи стилей. Можете модифицировать уже готовый tpl или скопировать -> переименовать готовый и внести правки.

Изображение

#3 7 марта 2025 в 21:26

Можете модифицировать уже готовый tpl или скопировать -> переименовать готовый и внести правки

pupsik

Спасибо! Попробую по колхозить, может и получится.

Сегодня в 06:53
#4 7 марта 2025 в 21:47

Просмотрев много сайтов сделанных на InstantCMS 2

Nikolay

Я не думаю что будет сложно. Тем более у вас будет живой пример html с css, вот с этих самых инстант сайтов. Copy->Paste. С заменой конечно нужных кодов.

#5 8 марта 2025 в 10:21

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

Можно создать дополнительное поле дата, но его надо заполнять. Или как то в него передать значение даты создания документа. Вот его можно перемещать в виджете как и все остальные

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

instantcms.ru/forum/vyvesti-datu-publikacii-otdelno-ot-info-bar.html

#6 8 марта 2025 в 16:56

instantcms.ru/forum/vyvesti-datu-publikacii-otdelno-ot-info-bar.html

kalikimaka

Интересная инфа, сегодня вечером буду экспериментировать.

#7 9 марта 2025 в 09:55
instantcms.ru/forum/vyvesti-datu-publikacii-otdelno-ot-info-bar.html kalikimaka Интересная инфа, сегодня вечером буду экспериментировать.
Nikolay
  1. <?php html($item['date_pub']); ?>

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

#8 9 марта 2025 в 14:15

 kalikimaka, потому что в $item данные напрямую из базы. Без учёта опций полей.

Данные после обработки полями надо искать в $item['fields']

#9 9 марта 2025 в 18:35
 kalikimaka, потому что в $item данные напрямую из базы. Без учёта опций полей. Данные после обработки полями надо искать в $item['fields']
Zau4man

и как вывести поле с настройками?

#10 Вчера в 09:23

Я не думаю что будет сложно

pupsik

Думал, что будет проще. Для виджета №2, за основу взял виджет — обычный лист, скопировал код:  

  1. <?php foreach($item['fields'] as $field){ ?>
  2. <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?> <?php echo $field['options']['wrap_type']; ?>_field" <?php if($field['options']['wrap_width']){ ?> style="width: <?php echo $field['options']['wrap_width']; ?>;"<?php } ?>>
  3. <?php if ($field['name'] === 'title' && $ctype['options']['item_on']){ ?>
  4. <?php } else { ?>
  5. <div class="value">
  6. <?php echo $field['html']; ?>
  7. </div>
  8. <?php } ?>
  9. </div>
  10. <?php } ?>
  11.  

 поставил его ниже инфо-бара, с виду вроде бы все хорошо,  

 Изображение   

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

Изображение

#11 Вчера в 11:24
Я не думаю что будет сложно pupsik Думал, что будет проще. Для виджета №2, за основу взял виджет — обычный лист, скопировал код:   <?php foreach($item['fields'] as $field){ ?
Nikolay

вот пример кода, как можно выводить что угодно с помощью item

  1. <div class="container">
  2. <div class = "row justify-content-center">
  3. <?php foreach($items as $item) { ?>
  4. <div class="sports-cont col-md-3 m-2 fade-in">
  5. <div class="sports-item-zag"><a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php echo $item['title']; ?></a></div>
  6. <div class="sports-item-pic"><a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><img class="mx-auto d-block" src="<?php echo html_image_src($item['photo'], 'big', true); ?>" alt="<?php echo $item['title']; ?>"></a></div>
  7. <div class="sports-item-but"><a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>">подробнее</a></div>
  8. </div>
  9. <?php } ?>
  10. </div>
  11. </div>
#12 Вчера в 15:20

Ну или стилями скройте или выводите только один field. Или что там? 

  1. $item['category']['title']
#13 Вчера в 16:39

или выводите только один field

pupsik

Спасибо! То что надо, вот к нему бы еще ссылку прикрутить, на новость ссылка имеет вот такой вид:

  1. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>">

на категорию, какой имеет вид и подсмотреть не где?

Добавлено спустя 18 минут

Всё! Получилось, всей виной стал (.html), надо быть внимательнее. Всем спасибо кто принял участие. Вот полный код на категорию.

  1. <div class="value"><a href="<?php echo href_to($ctype['name'], $item['category']['slug']); ?>"><?php html($item['category']['title']); ?></a></div>
  2.  
#14 Вчера в 17:07

Да, извиняюсь. По скриншоту не думал что вам надо и ссылка. Но вы уже нашли.

#15 Вчера в 20:19

Всё! Получилось

Nikolay

Ни чего не получилось. Вот упрощенный рабочий код    

  1. <div class="icms-widget__content_list content_list">
  2. <?php foreach($items as $item) { ?>
  3. <div class="content_list_item <?php echo $ctype['name']; ?>_list_item clearfix">
  4. <div class="icms-content-fields">
  5. <div class="field ft_caption f_title auto_field">
  6. <h3 class="value">
  7. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php echo $item['title']; ?></a>
  8. </h3>
  9. </div>
  10. </div>
  11. <?php if (!empty($item['info_bar'])){ ?>
  12. <div class="info_bar mt-2 d-flex p-0 bg-transparent border-0 text-muted">
  13. <?php foreach($item['info_bar'] as $bar){ ?>
  14. <div class="mr-2 bar_item <?php echo !empty($bar['css']) ? $bar['css'] : ''; ?>" title="<?php html(!empty($bar['title']) ? $bar['title'] : ''); ?>">
  15. <?php if (!empty($bar['icon'])){ ?>
  16. <?php html_svg_icon('solid', $bar['icon']); ?>
  17. <?php } ?>
  18. <?php if (!empty($bar['href'])){ ?>
  19. <a class="stretched-link" href="<?php echo $bar['href']; ?>">
  20. <?php echo $bar['html']; ?>
  21. </a>
  22. <?php } else { ?>
  23. <?php echo $bar['html']; ?>
  24. <?php } ?>
  25. </div>
  26. <div class="field ft_caption f_title auto_field">
  27. <div class="mr-2 bar_item text-truncate bi_category" title="<?php html($item['category']['title']); ?>">
  28. <a class="stretched-link" href="<?php echo href_to($ctype['name'], $item['category']['slug']); ?>"><?php html($item['category']['title']); ?></a>
  29. </div>
  30. </div>
  31. <?php } ?>
  32. </div>
  33. <?php } ?>
  34. </div>
  35. <?php } ?>
  36. </div>

     Только начинаешь подключать к админке и понеслося: опять дубли, нотисы и всякое безобразие. Одним словом мне такое ещё не по зубам.

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