В движке виджет вывода категорий какой-то для галочки пока, так как даже не задан вывод заголовка виджета. Это я доработал, вставив нужный кусок кода.
Но вот как вывести в две колонки на ПК и в одну на смартфоне?
<div class="container"> <div class="title-custom"> <?php html($widget->title); ?> <span class="links ml-auto"> <?php $links = string_parse_list($widget->links); ?> <?php foreach($links as $link){ ?> <a class="btn btn-outline-info btn-sm" href="<?php html((strpos($link['value'], 'http') === 0) ? $link['value'] : href_to($link['value'])); ?>"> <?php html($link['id']); ?> </a> <?php } ?> </span> <?php } ?> </div> <?php if($cover_preset){ ?> <div class="d-flex justify-content-between flex-wrap mb-n3 mb-md-n4"> <?php foreach($cats as $item){ ?> <div class="mb-3 mb-md-4<?php if ($item['is_hidden']) { ?> d-none<?php } ?><?php if ($item['css_classes']) { ?> <?php echo implode(' ', $item['css_classes']); ?><?php } ?>"> <div class="card border-0"> <?php if($item['img_src']){ ?> <a class="d-block overflow-hidden rounded-lg" href="<?php echo href_to($ctype_name, $item['slug']); ?>"> <img class="d-block img-fluid" src="<?php echo $item['img_src']; ?>" alt="<?php html($item['title']); ?>"> </a> <?php } ?> <div class="card-body<?php if(!$item['img_src']){ ?> p-0<?php } else { ?> px-0 pb-0 pt-2<?php } ?>"> <h3 class="h5 m-0"> <?php if(!$item['img_src']){ ?> <span class="text-warning"><?php html_svg_icon('solid', 'plus'); ?></span> <?php } ?> <a href="<?php echo href_to($ctype_name, $item['slug']); ?>"> <?php echo $item['title']; ?> </a> </h3> </div> </div> </div> <?php } ?> </div> <?php } else { ?> <ul class="icms-content-subcats list-unstyled my-n2"> <?php $last_level = 0; ?> <?php foreach($cats as $item){ ?> <?php for ($i=0; $i<($last_level - $item['ns_level']); $i++) { ?> </li></ul> <?php } ?> <?php if ($item['ns_level'] <= $last_level) { ?> </li> <?php } ?> <li class="my-2<?php if ($item['is_hidden']) { ?> d-none<?php } ?>"> <a class="h5<?php if ($item['is_active']) { ?> text-dark<?php } ?>" href="<?php echo href_to($ctype_name, $item['slug']); ?>"> <span class="text-warning"><?php html_svg_icon('solid', 'folder'); ?></span> <span><?php html($item['title']); ?></span> </a> <?php if ($item['childs_count']) { ?><ul class="list-unstyled pl-3"><?php } ?> <?php $last_level = $item['ns_level']; ?> <?php } ?> <?php for ($i=0; $i<$last_level; $i++) { ?> </li></ul> <?php } ?> <?php } ?> </div> <?php if(cmsUser::isAdmin()){ ?> <?php $this->addTplJSName('widgets'); ?> <div class="edit_wlinks"> <a class="edit btn btn-secondary btn-sm" href="#" title="<?php echo LANG_EDIT; ?>" data-id="<?php echo $widget->bind_id; ?>" data-url="<?php echo href_to('admin', 'widgets', 'edit'); ?>" data-name="<?php echo $this->getName(); ?>" onclick="return widgetEdit(this);"> <?php html_svg_icon('solid', 'edit'); ?> </a> <a class="delete btn btn-danger btn-sm" href="#" title="<?php echo LANG_DELETE; ?>" data-id="<?php echo $widget->id; ?>" data-url="<?php echo href_to('admin', 'widgets', 'delete'); ?>" data-confirm="<?php html(LANG_CP_WIDGET_DELETE_CONFIRM); ?>" onclick="return widgetDelete(this);"> <?php html_svg_icon('solid', 'minus-circle'); ?> </a> </div> <?php } ?>