Silentium 0 Опубликовано: 21 октября 2020 Рассказать Опубликовано: 21 октября 2020 Доброго времени суток! Сайт: http://lesson.1gb.ru/ Подскажите пожалуйста, есть страница http://lesson.1gb.ru/category_movies/4-dolittle.html На ней есть блок с актерами Скрин Код страницы fullstory Имеется дополнительное поле "Актеры", которое имеет тип "Несколько строк". В данной новости заполнено следующим образом Список актеров Можно ли как-то циклом перейти все строки, и для каждой строки искать в каталоге сайта картинку? К примеру, первая строка (Роберт Дауни мл) и ей соответствует картинка по адресу: {THEME}/images/actors/Роберт Дауни мл.jpg и так далее для каждой строки списка (при условии, что фотографии с именами актеров имеются в каталоге (буду парсить с КП через ZP). Как вывести фотографии всех актеров из списка, не вводя эти значения вручную, а через дополнительное поле новости? Сам только недавно скачал демо-версию DLE, приобрел шаблон и пытаюсь в нем разобраться. Но там для демо примера путь к картинкам прописан напрямую, а мне хотелось бы оставить сайт в таком виде, но автоматизировать вывод информации. Если что-то недостаточно корректно расписал, могу дать дополнительную информацию. Очень надеюсь на Вашу помощь. Пытался найти информацию на форуме и прочих образовательных ресурсах, но по моим запросам не нашел ничего дельного. Думаю, что это тривиальная задача с которой сталкивался каждый разработчик сайта на dle, и возможно есть ссылки на материалы, которыми можете поделиться, и которые помогут в решении задачи (мне не обязательно использовать доп. поле с типом Несколько строк, может есть обход через другой тип. Это первое, что пришло в голову). Заранее всем спасибо! Может кто-то подскажет более изысканное решение. В общем, хотелось бы видеть красиво оформленный блок с актерами. Цитата Ссылка на сообщение Поделиться на других сайтах
Хоббит 35 Опубликовано: 22 октября 2020 Рассказать Опубликовано: 22 октября 2020 Стандартными средствами не получится если не ошибаюсь. Надо написать плагин который вытащит данные из доп поля и сделает разделение каждого строка изображением. Потом где-то в шаблоне прописать {actors-foto} и будет выводиться много <img src...> Это так идея на ТЗ. Думаю будет недорого, хотя судя по бесплатному домену - пичаль Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 443 Опубликовано: 22 октября 2020 Рассказать Опубликовано: 22 октября 2020 11 часов назад, Хоббит сказал: Стандартными средствами не получится если не ошибаюсь. Надо написать плагин который вытащит данные из доп поля и сделает разделение каждого строка изображением. Потом где-то в шаблоне прописать {actors-foto} и будет выводиться много <img src...> Это так идея на ТЗ. Думаю будет недорого, хотя судя по бесплатному домену - пичаль В демо версии решить это с помощью плагина не получится, так как плагины в демо версии отключены Цитата Ссылка на сообщение Поделиться на других сайтах
Silentium 0 Опубликовано: 22 октября 2020 Рассказать Опубликовано: 22 октября 2020 Автор Решил сделать через дополнительное поле с типом html-код. Вместо списка, в fullstory вывожу значение этого поля. А т.к. данные буду собирать не в ручную, то мне и не сложно сделать автоматическую генерацию html. Пока, для ручного заполнения сделал себе на php вот такой код, который преобразует многострочный текст в нужный мне html. <?php $string = "Роберт Дауни мл Антонио Бандерас Майкл Шин Джим Бродбент Джесси Бакли Гарри Коллетт Эмма Томпсон Рами Малек Джон Сина Кумэйл Нанджиани"; echo get_actors_list($string); function get_actors_list($string){ $array = explode("\n", $string); $result = ""; foreach( $array as $key => $value ){ $value = trim($value, "\t\n\r\0\x0B"); $string = '<li class="actors-item mr-2"><a href="" target="_blank" title="'.$value.'"><img src="{THEME}/images/actors/'.$value.'.webp" alt="'.$value.'" class="avatar img-fit size-1 rounded-circle"/></a></li>'."\n"; $result = $result.$string; } return $result; } В любом случае, спасибо всем кто откликнулся! Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.