Категории в списке типов контента как кнопки

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

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

#1 22 октября 2021 в 13:43

Всех приветствую!

Подскажите пожалуйста, как категории в списке типа контента реализовать как кнопки?

На подобии как в примере на скриншоте.

Изображение

#2 22 октября 2021 в 15:25

Узнать какой class у категории через ПКМ — «Посмотреть код» в браузере. Пример для шаблона default: добавить в \templates\default\css файл my.css. В файле  \templates\default\main.tpl.php добавить  после строки «theme-modal.css»  это: <?php $this->addMainTplCSSName('my'); ?>. В my.css прописать 

.«class категории» {

background-color: #4CAF50; /* Green */
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;

}

Любые изменения добавлять в my.css, после обновления cms можно быстро добавить изменения в шаблоне. Код кнопок по вкусу

#3 22 октября 2021 в 21:03

Для модерн. Идем в папку templates/modern/controllers/сontent и ищем там файл category_view.tpl.php

Делаем его копию и называем, например для типа контента articles, как category_view_articles.tpl.php

Затем идем в документацию по bootstrap getbootstrap.com/docs/4.6/components/button-group/ и находим там код вывода группы кнопок

  1. <div class="btn-group" role="group" aria-label="Basic example">
  2. <button type="button" class="btn btn-secondary">Left</button>
  3. <button type="button" class="btn btn-secondary">Middle</button>
  4. <button type="button" class="btn btn-secondary">Right</button>
  5. </div>

С помощью этого кода будем править в category_view_articles.tpl.php блок вывода категорий. 

Заменим код

  1. <?php if ($subcats){ ?>
  2. <?php if($ctype['options']['cover_preset']){ ?>
  3. <div class="row mb-n3">
  4. <?php foreach($subcats as $c){ ?>
  5. <div class="col-md-4 col-sm-6 mb-3 mb-md-4 <?php echo $c['list_params']['class']; ?>">
  6. <div class="card border-0 bg-light">
  7. <?php if($c['list_params']['cover_img']){ ?>
  8. <a class="d-block overflow-hidden rounded-lg" href="<?php echo $c['list_params']['href']; ?>">
  9. <img class="d-block w-100" src="<?php echo $c['list_params']['cover_img']; ?>" alt="<?php html($c['title']); ?>">
  10. </a>
  11. <?php } ?>
  12. <div class="card-body">
  13. <h2 class="h5 m-0">
  14. <a href="<?php echo $c['list_params']['href']; ?>">
  15. <?php echo $c['title']; ?>
  16. </a>
  17. </h2>
  18. </div>
  19. </div>
  20. </div>
  21. <?php } ?>
  22. </div>
  23. <?php } else { ?>
  24. <ul class="list-inline icms-content-subcats">
  25. <?php foreach($subcats as $c){ ?>
  26. <li class="list-inline-item h4 text-warning mr-3 <?php echo $c['list_params']['class']; ?>">
  27. <?php html_svg_icon('solid', 'folder'); ?>
  28. <a href="<?php echo $c['list_params']['href']; ?>">
  29. <?php echo $c['title']; ?>
  30. </a>
  31. </li>
  32. <?php } ?>
  33. </ul>
  34. <?php } ?>
  35. <?php } ?>

на

  1. <?php if ($subcats) { ?>
  2. <div class="text-right">
  3. <div class="btn-group" role="group" aria-label="Категории">
  4.  
  5. <?php foreach ($subcats as $c) { ?>
  6.  
  7. <a class="btn btn-secondary" href="<?php echo $c['list_params']['href']; ?>">
  8. <?php echo $c['title']; ?>
  9. </a>
  10.  
  11. <?php } ?>
  12.  
  13. </div>
  14. </div>
  15. <?php } ?>

Получим

Изображение

Стили добавить «по вкусу». И в документацию поглядывать getbootstrap.com/docs/4.6/getting-started/introduction/

#4 22 октября 2021 в 22:06

 Zau4man, огромное спасибо, все получилось!

 noname, вам тоже спасибо!

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