Вывод набора изображений

InstantCMS 2.X
#1 9 сентября 2020 в 18:51
Добрый день ребята. Вопрос такой, как вывести все картинки из "набора изображений"? В списке постов, хочу сделать отложенную загрузку фото нужно отредактировать изначальный путь и добавить класс слайдера <img src=normal.jpg"> на <img data-src=normal.jpg" class="swiper-lazy">

Нашел на форуме код, но он выводит только одно изображение из набора, прошу помощи.
#2 9 сентября 2020 в 20:22
Сделать можно все, хоть слайдером вывести.
Вы хотите провести правки в шаблоне списка записей какого-то типа контента? Или хотите править само поле?
#3 10 сентября 2020 в 10:52


Сделать можно все, хоть слайдером вывести.
Вы хотите провести правки в шаблоне списка записей какого-то типа контента? Или хотите править само поле?

Zau4man

Здравствуйте, есть шаблон default_list.tpl.php нужно вывести все картинки из набора и стилизовать их. Но еще нужно, чтобы пути у выводимых картинок были приведены к такому виду <img data-src=normal.jpg" class="swiper-lazy"> А что нужно править не понял, походу нужно то и другое?
#4 10 сентября 2020 в 12:12
zeffs, так формируйте тогда свой код вывода изображения. Не используйте html_image
Используйте html_image_src для получения ссылки на изображение.

Т.е. вместо гипотетического

  1.  
  2. echo html_image('photo'_item, $fields['photo']['options']['size_small'], '', []);
  3.  
используйте

  1.  
  2. <img data-src="<?php echo html_image_src('photo'_item, $item['fields']['photo']['options']['size_small'],true); ?>" class="swiper-lazy">
  3.  
Вот таким кодом

  1.  
  2. <?php
  3. //вывод фото
  4. if (!empty($item['photo'])) {
  5. ?>
  6. <div class="fotorama" data-width="100%" data-maxheight="300" data-allowfullscreen="true" data-nav="thumbs" data-loop="true" data-fit="scaledown">
  7. <?php 'photo'_items = cmsModel::yamlToArray($item['photo']);
  8. foreach ('photo'_items as 'photo'_item) {
  9. ?>
  10. <a href="<?php echo html_image_src('photo'_item, $fields['photo']['options']['size_full'],true); ?>">
  11. <?php echo html_image('photo'_item, $fields['photo']['options']['size_small'], '', []); ?>
  12. </a>
  13. <?php } ?>
  14. </div>
  15. <?php } ?>
  16.  
выводил в одном проекте на странице просмотра записи фотографии в слайдере.
В списке записей массива $fields не будет. Но будет $item['fields']

Это максимум, чем я могу помочь, не видя вашего кода.
Подготовить код чтобы вы могли скопировать и вставить по исходным данным сложно.
#5 10 сентября 2020 в 14:24



используйте


Zau4man

Большое спасибо за помощь, я не силен в PHP не понял в чем ошибка, но ругается на ваш код в 7 строчке. <?php 'photo'_items = cmsModel::yamlToArray($item['photo']);
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.