Kami Опубликовано 25 апреля, 2018 Жалоба Поделиться Опубликовано 25 апреля, 2018 (изменено) Друзья, возник вопрос. Задача состояла в следующем. Нужно было сделать возможность привязать из определенной папки картинки в каждому варианту. Была создана вкладка изображения варианта в ней поля id name image ( например белый дуб) цвет мебели и само изображение.В базе все хранится в отдельной таблице s_pictures в таблице s_variants храню pictures_id , ид выбраного изображения для каждого варианта. Проблема в выводе. Хочу сделать так, выпадающий список вариантов, при выборе варианта над списком меняется изображения варианта в соответствии с выбранным. <select> {foreach $product->variants as $v} <option value="{$v->id}" {if $v->compare_price > 0}compare_price="{$v->compare_price|convert}"{/if} price="{$v->price|convert}"> {$v->name} </option> {/foreach} </select> выпадающий список вариантов {foreach $product->pictures as $picture} {if $picture->image} <img src="{$config->pictures_images_dir}{$picture->image}" width="100" height="100" alt="" /> {/if} {/foreach} вывод изображений всех вариантов. на выходе получаю ( если 4 варианта с изображениями)4 изображения и под ними выпадающий список.А нужно 1 изображение и чтоб при изменении варианта менялась картинка варианта.Надеюсь понятно описал. Изменено 25 апреля, 2018 пользователем Kami Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 25 апреля, 2018 Жалоба Поделиться Опубликовано 25 апреля, 2018 Это типовая задача для JS или Jquery. Много решений для подобных задач можно найти на форуме, например в темеhttp://forum.simplacms.ru/topic/9435-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%BB%D1%8F-%D0%B2%D0%B0%D1%80%D0%B8%D0%BD%D1%82%D0%BE%D0%B2/можно найти много полезного по Вашей задаче... Цитата Ссылка на сообщение Поделиться на другие сайты
Kami Опубликовано 25 апреля, 2018 Автор Жалоба Поделиться Опубликовано 25 апреля, 2018 Это типовая задача для JS или Jquery. Много решений для подобных задач можно найти на форуме, например в темеhttp://forum.simplacms.ru/topic/9435-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%BB%D1%8F-%D0%B2%D0%B0%D1%80%D0%B8%D0%BD%D1%82%D0%BE%D0%B2/можно найти много полезного по Вашей задаче... эта задача никак не похожа на мою. Там изображение товара прикрепляется, а тут я свои изображения каждому варианту прикрепляю Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 25 апреля, 2018 Жалоба Поделиться Опубликовано 25 апреля, 2018 А нужно 1 изображение и чтоб при изменении варианта менялась картинка варианта. Эта задача - очень похожа на малую часть того, что делается в теме по данной ранее ссылке. Из той темы и решение для Вашей задачи можно извлечь... Цитата Ссылка на сообщение Поделиться на другие сайты
Kami Опубликовано 25 апреля, 2018 Автор Жалоба Поделиться Опубликовано 25 апреля, 2018 Нашел вот такое решение <select id="selm" name="m"> <option data-path="/images/znaki_oven.png" value="ov">Овен</option> <option data-path="/images/znaki_telec.png" value="te">Телец</option> <option data-path="/images/znaki_blizneci.png" value="bl">Близнецы</option> </select> <div id="selmimg"><img src="/images/znaki_oven.png" /></div> $(document).ready(function(){ $('#selm').change(function(){ $('#selmimg').find('img:first').attr('src', $('#selm option:selected').attr('data-path')); }); }); Но как мне в цикле {foreach $product->variants as $v} получить урл привязанного изображения из {foreach $product->pictures as $picture} Пока я вывожу отдельно варианты и отдельно цикл всех привязанных картинок я так понял. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 26 апреля, 2018 Жалоба Поделиться Опубликовано 26 апреля, 2018 Но как мне в цикле {foreach $product->variants as $v} получить урл привязанного изображения из {foreach $product->pictures as $picture}Как обычно. В зависимости от конкретной структуры $product->pictures... Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.