Aleksey.g84 Posted July 8, 2015 Report Share Posted July 8, 2015 Доброго времени суток друзьяПонимаю немного, но в целом принцип понятен что необходимо и в БД поработать и на шаблонеПредставляю это примерно так:в БД создать таблицу variant_imageв variant_image создать id, к каждому из них присвоить имя и цветную иконку 32Х32px к примеру А вот далее уже сложнее т.к. нужно укоротить и переделать код который отвечает за выпадающий селект и вывести в шаблон вот эти самые картинки Примерно хотелось бы получить следующееПрошу совета дабы не накосячить)))Всем заранее спасибо Quote Link to post Share on other sites
Noxter Posted July 9, 2015 Report Share Posted July 9, 2015 Готовое решениеhttp://simpla-addons.org/blog/modules/2xx-palitra-tsvetov-vizualizatsiya-svojstv Quote Link to post Share on other sites
Maksclub Posted July 9, 2015 Report Share Posted July 9, 2015 (edited) Доброго времени суток друзьяПонимаю немного, но в целом принцип понятен что необходимо и в БД поработать и на шаблонеПредставляю это примерно так:в БД создать таблицу variant_imageв variant_image создать id, к каждому из них присвоить имя и цветную иконку 32Х32px к примеру А вот далее уже сложнее т.к. нужно укоротить и переделать код который отвечает за выпадающий селект и вывести в шаблон вот эти самые картинки Примерно хотелось бы получить следующееПрошу совета дабы не накосячить)))Всем заранее спасибо можно и не так — берете скрипт http://dimox.name/jquery-form-styler/ и стилизуете свои чекбоксы в зависимости от имени, то есть если variant->name == "Зеленый" то задаем класс green и т.д... я стилизовал чекбоксы для свойств, пример отправил в личку Edited July 9, 2015 by Maksclub Quote Link to post Share on other sites
kislotnik Posted July 9, 2015 Report Share Posted July 9, 2015 (edited) можно и не так — берете скрипт http://dimox.name/jquery-form-styler/ и стилизуете свои чекбоксы в зависимости от имени, то есть если variant->name == "Зеленый" то задаем класс green и т.д... я стилизовал чекбоксы для свойств, пример отправил в личкуопять вы со своим скриптом.не легче просто стилизовать как здесь Edited July 9, 2015 by kislotnik Quote Link to post Share on other sites
kislotnik Posted July 9, 2015 Report Share Posted July 9, 2015 при выводе в картоске товаров можно выводить например так <span style="background: #{$v->name}"></span>а в адиминке в название варианта писать кот цвета Quote Link to post Share on other sites
Kors Posted July 9, 2015 Report Share Posted July 9, 2015 Готовое решениеhttp://simpla-addons.org/blog/modules/2xx-palitra-tsvetov-vizualizatsiya-svojstv Это решение не пойдет принципиально, так как оно цепляет цвет к ТОВАРУ, а у ТС стоит задача совсем другая - задавать цвет для ВАРИАНТА. Простейший способ - в админке добавить варианту поле для указания цвета. И в шаблоне уже менять вывод.Еще проще - по совету Maksclub - использовать для этого поле названия варианта. Но это не всем подойдет... Совет kislotnik-а - из серии "одно строим, другое ломаем". При его реализации в корзине и заказе во многих местах будет стоять что-то типа Сумка женская #5689a4, что не слишком хорошо... Quote Link to post Share on other sites
kislotnik Posted July 9, 2015 Report Share Posted July 9, 2015 Это решение не пойдет принципиально, так как оно цепляет цвет к ТОВАРУ, а у ТС стоит задача совсем другая - задавать цвет для ВАРИАНТА. Простейший способ - в админке добавить варианту поле для указания цвета. И в шаблоне уже менять вывод.Еще проще - по совету Maksclub - использовать для этого поле названия варианта. Но это не всем подойдет... Совет kislotnik-а - из серии "одно строим, другое ломаем". При его реализации в корзине и заказе во многих местах будет стоять что-то типа Сумка женская #5689a4, что не слишком хорошо...и в корзине и в заказе можно стилизовать было вы желание.но таким способом меньше всего ковырять код нужно Quote Link to post Share on other sites
Kors Posted July 9, 2015 Report Share Posted July 9, 2015 и в корзине и в заказе можно стилизовать было вы желание.но таким способом меньше всего ковырять код нужно Если считаете, что Ваш способ самый короткий и простой, то быстренько напишите, что и как собираетесь стилизовать, со всеми деталями. И посмотрим, так ли это кратко и просто, и останутся ли недостатки... Quote Link to post Share on other sites
kislotnik Posted July 9, 2015 Report Share Posted July 9, 2015 Если считаете, что Ваш способ самый короткий и простой, то быстренько напишите, что и как собираетесь стилизовать, со всеми деталями. И посмотрим, так ли это кратко и просто, и останутся ли недостатки...по аналогии <span style="background: #{$v->name}"></span> в корзине и в заказах админки Quote Link to post Share on other sites
Aleksey.g84 Posted July 9, 2015 Author Report Share Posted July 9, 2015 опять вы со своим скриптом.не легче просто стилизовать как здесьСпасибо большое, самое лучшее решение и самое простоеОсталось научить этот код понимать цвет вариантаНе подскажете?)Заранее спасибо) Quote Link to post Share on other sites
mishanya Posted July 9, 2015 Report Share Posted July 9, 2015 Спасибо большое, самое лучшее решение и самое простоеОсталось научить этот код понимать цвет вариантаНе подскажете?)Заранее спасибо) <form class="variants" action="/cart"> {foreach $product->variants as $v} <label> <input name="variant" value="{$v->id}" type="radio"><span style="background:{$v->name}"></span> </label> {/foreach} <input type="submit" style="float:right;" class="totocart" value="в корзину" data-result-text="добавлено"/> </form> .variants input[type="radio"] {display: none;} .variants label {display:inline-block;} .variants input[type="radio"]+span { padding: 10px; display: block; color:#000; } .variants input[type="radio"]:checked+span { padding: 10px; display: block; border: 2px solid #000; color:#fff; } Quote Link to post Share on other sites
kislotnik Posted July 9, 2015 Report Share Posted July 9, 2015 Спасибо большое, самое лучшее решение и самое простоеОсталось научить этот код понимать цвет вариантаНе подскажете?)Заранее спасибо)если вам нужно чтоб был и цвет и размер то думаю можете обратится к Noxter. так как я не специалист а такой же пользователь как вы просто давно уже здесь Quote Link to post Share on other sites
kislotnik Posted July 9, 2015 Report Share Posted July 9, 2015 Спасибо большое, самое лучшее решение и самое простоеОсталось научить этот код понимать цвет вариантаНе подскажете?)Заранее спасибо)а по поводу каких либо дополнений или разработок советовал бы обращатся к mishanya очень адекватный и толковый специалист и цены приемлемы и всегда поможет Quote Link to post Share on other sites
Kors Posted July 9, 2015 Report Share Posted July 9, 2015 по аналогии <span style="background: #{$v->name}"></span> в корзине и в заказах админки Обычно в магазине товары разные. У одних есть варианты, отличающиеся цветом. У других - варианты, отличающиеся НЕ цветом, а варианты с обычными названиями. У третьих - единственный вариант.И что будет при Вашем способе в такой вот типовой ситуации? Quote Link to post Share on other sites
kislotnik Posted July 9, 2015 Report Share Posted July 9, 2015 Обычно в магазине товары разные. У одних есть варианты, отличающиеся цветом. У других - варианты, отличающиеся НЕ цветом, а варианты с обычными названиями. У третьих - единственный вариант.И что будет при Вашем способе в такой вот типовой ситуации?вообщето вопрос был именно за цвет Quote Link to post Share on other sites
Kors Posted July 9, 2015 Report Share Posted July 9, 2015 Вообще-то последний вопрос был "И что будет при Вашем способе в такой вот типовой ситуации?".А будет следующее - нормальный правильный показ на странице товара будет лишь у тех товаров, у которых названия вариантов - коды цветов. У других товаров будет полное безобразие - скорее всего, не будет видно совсем отдельных вариантов. Если же и будут видны, то полностью однотипные, без всякого различия. Вот и выходит - "другое ломаем". Вывод простой: Ваш метод работает как следует только в том случае, если в магазине АБСОЛЮТНО ВСЕ товары разделяются на варианты по цвету. Если, например, Вы продаете женские туфли по цветам, то работать будет. А если захотите к товарам добавить, например, щетку для чистки обуви, то тут просто так не выйдет. Можно, конечно, исхитриться и приписать ей цвет - но это явное извращение. И если таких товаров много, то уже мучение для админа... Quote Link to post Share on other sites
kislotnik Posted July 9, 2015 Report Share Posted July 9, 2015 Вообще-то последний вопрос был "И что будет при Вашем способе в такой вот типовой ситуации?".А будет следующее - нормальный правильный показ на странице товара будет лишь у тех товаров, у которых названия вариантов - коды цветов. У других товаров будет полное безобразие - скорее всего, не будет видно совсем отдельных вариантов. Если же и будут видны, то полностью однотипные, без всякого различия. Вот и выходит - "другое ломаем". Вывод простой: Ваш метод работает как следует только в том случае, если в магазине АБСОЛЮТНО ВСЕ товары разделяются на варианты по цвету. Если, например, Вы продаете женские туфли по цветам, то работать будет. А если захотите к товарам добавить, например, щетку для чистки обуви, то тут просто так не выйдет. Можно, конечно, исхитриться и приписать ей цвет - но это явное извращение. И если таких товаров много, то уже мучение для админа...вот именно.только цвет Quote Link to post Share on other sites
Aleksey.g84 Posted July 9, 2015 Author Report Share Posted July 9, 2015 <form class="variants" action="/cart"> {foreach $product->variants as $v} <label> <input name="variant" value="{$v->id}" type="radio"><span style="background:{$v->name}"></span> </label> {/foreach} <input type="submit" style="float:right;" class="totocart" value="в корзину" data-result-text="добавлено"/> </form> .variants input[type="radio"] {display: none;} .variants label {display:inline-block;} .variants input[type="radio"]+span { padding: 10px; display: block; color:#000; } .variants input[type="radio"]:checked+span { padding: 10px; display: block; border: 2px solid #000; color:#fff; } Спасибо большое... просто огромнейшее)))буду стараться допилить теперь саму корзину т.к. в корзине передача цвета идет кодом Quote Link to post Share on other sites
mishanya Posted July 9, 2015 Report Share Posted July 9, 2015 Спасибо большое... просто огромнейшее)))буду стараться допилить теперь саму корзину т.к. в корзине передача цвета идет кодом <span class="purchase_variant" style="background:{$purchase->variant->name}"></span> .purchase_variant { padding: 10px; display: block; border: 2px solid #000; color:#fff; } Quote Link to post Share on other sites
Aleksey.g84 Posted July 9, 2015 Author Report Share Posted July 9, 2015 ОГРОМНОЕ СПАСИБО mishanye вопрос решен работает без проблем)Вот этот же код из поста №19 <span class="purchase_variant" style="background:{$purchase->variant->name}"></span> необходимо вставить в cart_informer.tpl и order.tplиначе вывод вариантов будет кодомЕще раз спасибо mishanya Quote Link to post Share on other sites
Noxter Posted July 9, 2015 Report Share Posted July 9, 2015 Это решение не пойдет принципиально, так как оно цепляет цвет к ТОВАРУ, а у ТС стоит задача совсем другая - задавать цвет для ВАРИАНТА. Простейший способ - в админке добавить варианту поле для указания цвета. И в шаблоне уже менять вывод. Еще проще - по совету Maksclub - использовать для этого поле названия варианта. Но это не всем подойдет... Совет kislotnik-а - из серии "одно строим, другое ломаем". При его реализации в корзине и заказе во многих местах будет стоять что-то типа Сумка женская #5689a4, что не слишком хорошо...Всегда можно изменить под заказчика. Quote Link to post Share on other sites
Aleksey.g84 Posted July 9, 2015 Author Report Share Posted July 9, 2015 Все бы ничего, но нашлись некоторые тонкости и неточности)))видимо придется ждать mishany-ют.к. визуально клиент видит без проблем вариант цвета, а вот тот же Яндекс например не понимает этот цветДругими словами в yandex.xml параметр цвета передается как #000000И теперь нужно yandex.php научить распознавать этот цветИли все же придется в админке в вариантах добавлять поле по аналогии варианта-->создавать таблицу в БД-->выводить этот параметр уже в yandex.xml Quote Link to post Share on other sites
mishanya Posted July 9, 2015 Report Share Posted July 9, 2015 Все бы ничего, но нашлись некоторые тонкости и неточности)))видимо придется ждать mishany-ют.к. визуально клиент видит без проблем вариант цвета, а вот тот же Яндекс например не понимает этот цветДругими словами в yandex.xml параметр цвета передается как #000000И теперь нужно yandex.php научить распознавать этот цветИли все же придется в админке в вариантах добавлять поле по аналогии варианта-->создавать таблицу в БД-->выводить этот параметр уже в yandex.xml можно создать массив соответствий цвет-название в yandex.php Quote Link to post Share on other sites
Kors Posted July 9, 2015 Report Share Posted July 9, 2015 можно создать массив соответствий цвет-название в yandex.php Шикарное решение. Возможных цветов всего 16М, просто в yandex.php задать массив с 16М элементами. Превзойдет все имперы и джумлы вместе взятые...Или может, массив будет поменьше? А если какой цвет не найдется - письма админу отправлять - мол, у Вас выгрузка в ямаркет неправильная или неполная, допрограммируйте цвет такой-то. Тоже костыль замечательный выйдет... Quote Link to post Share on other sites
Noxter Posted July 9, 2015 Report Share Posted July 9, 2015 Корс ты из ума выжил... Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.