Помогите написать условие для вывода иконок в виджете

#1 9 октября 2022 в 10:45

Всем привет. Есть виджет выводящий заголовки новостей и если тип поста видео или фото, он должен выводить перед заголовком соответствующую иконку фото или видео. Сейчас он выводит только одну иконку и только при условии заполнения какого-либо поля(выбирается в админке), а мне надо чтоб он выводил две разные иконки в зависимости от того, какое значение выбрано в поле «тип поста»(поле «список: мультивыбор». значения: новость, фото, видео).

Готов заплатить за решение.

Спасибо.

  1. <?php if ($widget->options['type'] === 'list6') { ?>
  2. <section class="no-photo-list-2">
  3. <div class="title-b">
  4. <a href = "<?php if(!empty($widget->options['link_w'])) { ?><?php echo $widget->options['link_w']; ?><?php } ?>"><?php if(!empty($widget->options['title'])) { echo $widget->options['title']; } ?> <?php html_svg_icon('solid', 'angle-right'); ?></a>
  5. </div>
  6. <div class="no-photo-content">
  7. <?php $index = 0; ?>
  8. <?php foreach($items as $item) { ?>
  9. <article class="first-item">
  10. <div class="block-title">
  11. <a href="<?php echo href_to($ctype['name'], $item['slug']) . '.html'; ?>" class="item-all">
  12. <?php if( !empty($item[$icon_field]) ) { ?>
  13. <span class = "icon-item"><?php html_svg_icon('solid', 'video'); ?></span>
  14. <?php } ?>
  15. <?php if( !empty($item[$title_field]) ) { echo $item[$title_field]; } ?>
  16. </a>
  17. </div>
  18. </article>
  19. <?php $index++; } ?>
  20. </div>
  21. </section>
  22. <?php } ?>
#2 9 октября 2022 в 11:42

Выложите под кат файл опций виджета.

#4 9 октября 2022 в 12:16

Ваши строки 12-14

  1. <?php if( !empty($item[$icon_field]) ) { ?>
  2. <?php if ($item[$icon_field] == '100' ) { // типа тут новость ?>
  3. <span class = "icon-item"><?php html_svg_icon('solid', 'news'); ?></span>
  4. <?php } elseif ($item[$icon_field] == '010' ) { // типа тут фото?>
  5. <span class = "icon-item"><?php html_svg_icon('solid', 'camera'); ?></span>
  6. <?php } elseif ($item[$icon_field] == '001' ) { // типа тут видео?>
  7. <span class = "icon-item"><?php html_svg_icon('solid', 'video'); ?></span>
  8. <?php } ?>
  9. <?php } ?>
#5 9 октября 2022 в 13:29

Ваши строки 12-14

Loadырь

Спасибо, работает.

Иконка новостей не нужна, сократил так и всё отлично работает.

Хочу закинуть на кофе, буду благодарен за яндекс кошель.

  1. <?php if( !empty($item[$icon_field]) ) { ?>
  2. <?php if ($item[$icon_field] == '010' ) { // типа тут фото ?>
  3. <span class = "icon-item"><?php html_svg_icon('solid', 'camera'); ?></span>
  4. <?php } elseif ($item[$icon_field] == '001' ) { // типа тут видео?>
  5. <span class = "icon-item"><?php html_svg_icon('solid', 'video'); ?></span>
  6. <?php } ?>
  7. <?php } ?>
#7 9 октября 2022 в 13:44

Кстати, ещё вопрос: так как у нас мультивыбор как сделать так, чтоб при выборе двух значений(например новость и фото) выводилась иконка последнего значения?

Изображение

#8 9 октября 2022 в 14:37

Спасибо за донат. В мультвыборе что отмечено, то 1, что не отмечено — 0. Поэтому «101» или новсть с фото — «110».

#9 9 октября 2022 в 14:48

В мультвыборе что отмечено, то 1, что не отмечено — 0. Поэтому «101» или новсть с фото — «110».

Loadырь

Значение «новость» возможно но не обязательно, т.е. получается фото может быть как 110, так и 010(видео 101 или 001).

Спасибо ещё раз, буду думать в этом направлении.

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