Как вывести картинки из поля "набор изображений"?

 
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2781
Здравствуйте!
Надо вывести 2 пресета из поля "набор изображений" (маленький и оригинальный) в записи типа контента без всяких "обработок".
Заранее благодарен!
Спойлер
Украинский для инстант
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3508
Что значит?
Олег Васильевич я:
без всяких "обработок".
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2781
Loadырь:

Что значит?
Олег Васильевич я:
без всяких "обработок".
Значит, что нужно на выходе получить только картинки (без ссылок <a class="img-photos " href="/upload/000/u1/002/f8781e55.png" rel="gal">):
Вывожу поле так:
Код PHP:
  1.  
  2. <?php if (isset($fields['photos']) && $fields['photos']['is_in_item'] && !empty($item['photos'])){ ?>
  3. <?php echo $fields['photos']['html']; ?>
  4. <?php unset($fields['photos']); ?>
  5. <?php } ?>
  6.  
Получаю на выходе:
Код HTML:
  1.  
  2. <a class="img-photos " href="/upload/000/u1/002/f8781e55.png" rel="gal">
  3. <img alt="название записи" src="/upload/000/u1/002/3e1f50a7.png">
  4. </a>
  5. <a class="img-photos " href="/upload/000/u1/002/165906e1.png" rel="gal">
  6. <img alt="название записи 1" src="/upload/000/u1/002/97fd06e9.png">
  7. </a>
  8. <a class="img-photos " href="/upload/000/u1/002/3847c36f.png" rel="gal">
  9. <img alt="название записи 2" src="/upload/000/u1/002/073ed6b7.png">
  10. </a>
  11. $(function() { icms.modal.bindGallery(".img-photos"); });
  12. </script>
  13.  
Вопрос как получить картинки поля в таком виде (пусть будет пресет "оригинальный"):
Код HTML:
  1.  
  2. <img alt="название записи" src="/upload/000/u1/002/3e1f50a7.png">
  3. <img alt="название записи 1" src="/upload/000/u1/002/97fd06e9.png">
  4. <img alt="название записи 2" src="/upload/000/u1/002/073ed6b7.png">
  5.  
Спасибо!
Редактировалось: 1 раз (Последний: 24 июля 2016 в 13:49)
Украинский для инстант
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 869
Вариант
Код PHP:
  1.  
  2. <?php
  3. $config = cmsConfig::getInstance();
  4.  
  5. $is_imgs=false;
  6. $fn="photos";
  7. $img_size = 'normal';
  8. $img_size_full = 'original';
  9.  
  10. if (isset($fields[$fn]) && $fields[$fn]['is_in_item'] && !empty($item[$fn])){
  11. $images = cmsModel::yamlToArray($item[$fn]);
  12. unset($fields[$fn]);
  13. $is_imgs=true;
  14. }
  15. if($is_imgs){
  16.  
  17. $images_html = '';
  18. foreach($images as $key=>$paths){
  19.  
  20. $full = isset($paths[$img_size_full]) ? $paths[$img_size_full] : '';
  21. if($full){
  22. $images_html .= '<a class="img-'.$fn.'" href="'.$config->upload_host . '/' . $full.'"><img src="'.$config->upload_host . '/' . $paths[$img_size].'" alt="'.htmlspecialchars(empty($item['title']) ? '' : $item['title'].' '.$key).'" /></a>';
  23. $images_html .= '<script>$(document).ready(function() { icms.modal.bindGallery(".img-'.$fn.'"); });</script>';
  24. }else{
  25. $images_html .= '<img src="'.$config->upload_host . '/' . $paths[$img_size].'" alt="'.htmlspecialchars(empty($item['title']) ? '' : $item['title'].' '.$key).'" />';
  26. }
  27.  
  28. }
  29.  
  30. }
  31. ?>
  32.  
И выводим там, где надо, это:
Код PHP:
  1.  
  2. <?php echo $images_html; ?>
  3.  
Добавил условие, если нет картинки с оригинальным размером, то изображения выводим без ссылок на увеличение.

А если нужна так:
Код PHP:
  1.  
  2.  
  3. <img alt="название записи" src="/upload/000/u1/002/3e1f50a7.png">
  4. <img alt="название записи 1" src="/upload/000/u1/002/97fd06e9.png">
  5. <img alt="название записи 2" src="/upload/000/u1/002/073ed6b7.png">
  6.  

Тогда можно оставить условие, может пригодится, и добавить:
Код PHP:
  1.  
  2. $full=false;
  3.  
Или использовать такой код:
Код PHP:
  1.  
  2. <?php
  3. $config = cmsConfig::getInstance();
  4.  
  5. $is_imgs=false;
  6. $fn="photos";
  7. $img_size = 'normal';
  8.  
  9. if (isset($fields[$fn]) && $fields[$fn]['is_in_item'] && !empty($item[$fn])){
  10. $images = cmsModel::yamlToArray($item[$fn]);
  11. unset($fields[$fn]);
  12. $is_imgs=true;
  13. }
  14. if($is_imgs){
  15.  
  16. $images_html = '';
  17. foreach($images as $key=>$paths){
  18. $images_html .= '<img src="'.$config->upload_host . '/' . $paths[$img_size].'" alt="'.htmlspecialchars(empty($item['title']) ? '' : $item['title'].' '.$key).'" />';
  19.  
  20. }
  21.  
  22. }
  23. ?>
  24.  
Редактировалось: 3 раз (Последний: 24 июля 2016 в 17:00)
Веб дизайн, разработка сайтов, верстка.
Дополнения для InstantCMS 2
. skype:gdvden
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2781
Денис Васильевич:
Вариант
Попробую приспособить к своим потребностям. Отпишусь.
Денис Васильевич, спасибо!
Украинский для инстант
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.