Jump to content

Вариант товара изображением без выпадающего списка


Recommended Posts

Доброго времени суток друзья

Понимаю немного, но в целом принцип понятен что необходимо и в БД поработать и на шаблоне

Представляю это примерно так:

в БД создать таблицу variant_image

в variant_image создать id, к каждому из них присвоить имя и цветную иконку 32Х32px к примеру

 

А вот далее уже сложнее т.к. нужно укоротить и переделать код который отвечает за выпадающий селект и вывести в шаблон вот эти самые картинки

 

Примерно хотелось бы получить следующее

Прошу совета дабы не накосячить)))

Всем заранее спасибо

Link to post
Share on other sites

Доброго времени суток друзья

Понимаю немного, но в целом принцип понятен что необходимо и в БД поработать и на шаблоне

Представляю это примерно так:

в БД создать таблицу variant_image

в variant_image создать id, к каждому из них присвоить имя и цветную иконку 32Х32px к примеру

 

А вот далее уже сложнее т.к. нужно укоротить и переделать код который отвечает за выпадающий селект и вывести в шаблон вот эти самые картинки

 

Примерно хотелось бы получить следующее

Прошу совета дабы не накосячить)))

Всем заранее спасибо

 

можно и не так — берете скрипт http://dimox.name/jquery-form-styler/ и стилизуете свои чекбоксы  в зависимости от имени, то есть если variant->name == "Зеленый"  то задаем класс green и т.д...

 

я стилизовал чекбоксы для свойств, пример отправил в личку

Edited by Maksclub
Link to post
Share on other sites

можно и не так — берете скрипт http://dimox.name/jquery-form-styler/ и стилизуете свои чекбоксы  в зависимости от имени, то есть если variant->name == "Зеленый"  то задаем класс green и т.д...

 

я стилизовал чекбоксы для свойств, пример отправил в личку

опять вы со своим скриптом.не легче просто стилизовать как здесь

Edited by kislotnik
Link to post
Share on other sites

при выводе в картоске товаров можно выводить например так <span style="background: #{$v->name}"></span>

а в адиминке в название варианта писать кот цвета

Link to post
Share on other sites

 

Это решение не пойдет принципиально, так как оно цепляет цвет к ТОВАРУ, а у ТС стоит задача совсем другая - задавать цвет для ВАРИАНТА.

 

Простейший способ - в админке добавить варианту поле для указания цвета. И в шаблоне уже менять вывод.

Еще проще - по совету Maksclub - использовать для этого поле названия варианта. Но это не всем подойдет...

 

Совет kislotnik-а - из серии "одно строим, другое ломаем". При его реализации в корзине и заказе во многих местах будет стоять что-то типа Сумка женская #5689a4, что не слишком хорошо...

Link to post
Share on other sites

Это решение не пойдет принципиально, так как оно цепляет цвет к ТОВАРУ, а у ТС стоит задача совсем другая - задавать цвет для ВАРИАНТА.

 

Простейший способ - в админке добавить варианту поле для указания цвета. И в шаблоне уже менять вывод.

Еще проще - по совету Maksclub - использовать для этого поле названия варианта. Но это не всем подойдет...

 

Совет kislotnik-а - из серии "одно строим, другое ломаем". При его реализации в корзине и заказе во многих местах будет стоять что-то типа Сумка женская #5689a4, что не слишком хорошо...

и в корзине и в заказе можно стилизовать было вы желание.но таким способом меньше всего ковырять код нужно

Link to post
Share on other sites

и в корзине и в заказе можно стилизовать было вы желание.но таким способом меньше всего ковырять код нужно

 

Если считаете, что Ваш способ самый короткий и простой, то быстренько напишите, что и как собираетесь стилизовать, со всеми деталями. И посмотрим, так ли это кратко и просто, и останутся ли недостатки...

Link to post
Share on other sites

Если считаете, что Ваш способ самый короткий и простой, то быстренько напишите, что и как собираетесь стилизовать, со всеми деталями. И посмотрим, так ли это кратко и просто, и останутся ли недостатки...

по аналогии <span style="background: #{$v->name}"></span> в корзине и в заказах админки

Link to post
Share on other sites

опять вы со своим скриптом.не легче просто стилизовать как здесь

Спасибо большое, самое лучшее решение и самое простое

Осталось научить этот код понимать цвет варианта

Не подскажете?)

Заранее спасибо)

Link to post
Share on other sites

Спасибо большое, самое лучшее решение и самое простое

Осталось научить этот код понимать цвет варианта

Не подскажете?)

Заранее спасибо)

 

<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;
}
Link to post
Share on other sites

Спасибо большое, самое лучшее решение и самое простое

Осталось научить этот код понимать цвет варианта

Не подскажете?)

Заранее спасибо)

если вам нужно чтоб был и цвет и размер то думаю можете обратится к Noxter. так как я не специалист а такой же пользователь как вы просто давно уже здесь

Link to post
Share on other sites

Спасибо большое, самое лучшее решение и самое простое

Осталось научить этот код понимать цвет варианта

Не подскажете?)

Заранее спасибо)

а по поводу каких либо дополнений или разработок советовал бы обращатся к mishanya очень адекватный  и толковый специалист и цены приемлемы и всегда поможет

Link to post
Share on other sites

по аналогии <span style="background: #{$v->name}"></span> в корзине и в заказах админки

 

 

Обычно в магазине товары разные. У одних есть варианты, отличающиеся цветом. У других - варианты, отличающиеся НЕ цветом, а варианты с обычными названиями. У третьих - единственный вариант.

И что будет при Вашем способе в такой вот типовой ситуации?

Link to post
Share on other sites

Обычно в магазине товары разные. У одних есть варианты, отличающиеся цветом. У других - варианты, отличающиеся НЕ цветом, а варианты с обычными названиями. У третьих - единственный вариант.

И что будет при Вашем способе в такой вот типовой ситуации?

вообщето вопрос был именно за цвет

Link to post
Share on other sites

Вообще-то последний вопрос был "И что будет при Вашем способе в такой вот типовой ситуации?".

А будет следующее - нормальный правильный показ на странице товара будет лишь у тех товаров, у которых названия вариантов - коды цветов. У других товаров будет полное безобразие - скорее всего, не будет видно совсем отдельных вариантов. Если же и будут видны, то полностью однотипные, без всякого различия. Вот и выходит - "другое ломаем".

 

Вывод простой: Ваш метод работает как следует только в том случае, если в магазине АБСОЛЮТНО ВСЕ товары разделяются на варианты по цвету.

 

Если, например, Вы продаете женские туфли по цветам, то работать будет. А если захотите к товарам добавить, например, щетку для чистки обуви, то тут просто так не выйдет. Можно, конечно,  исхитриться и приписать ей цвет - но это явное извращение. И если таких товаров много, то уже мучение для админа...

Link to post
Share on other sites

Вообще-то последний вопрос был "И что будет при Вашем способе в такой вот типовой ситуации?".

А будет следующее - нормальный правильный показ на странице товара будет лишь у тех товаров, у которых названия вариантов - коды цветов. У других товаров будет полное безобразие - скорее всего, не будет видно совсем отдельных вариантов. Если же и будут видны, то полностью однотипные, без всякого различия. Вот и выходит - "другое ломаем".

 

Вывод простой: Ваш метод работает как следует только в том случае, если в магазине АБСОЛЮТНО ВСЕ товары разделяются на варианты по цвету.

 

Если, например, Вы продаете женские туфли по цветам, то работать будет. А если захотите к товарам добавить, например, щетку для чистки обуви, то тут просто так не выйдет. Можно, конечно,  исхитриться и приписать ей цвет - но это явное извращение. И если таких товаров много, то уже мучение для админа...

вот именно.только цвет

Link to post
Share on other sites

 

<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;
}

 

Спасибо большое... просто огромнейшее)))

буду стараться допилить теперь саму корзину т.к. в корзине передача цвета идет кодом

Link to post
Share on other sites

Спасибо большое... просто огромнейшее)))

буду стараться допилить теперь саму корзину т.к. в корзине передача цвета идет кодом

 

<span class="purchase_variant" style="background:{$purchase->variant->name}"></span>
.purchase_variant { 
  	padding: 10px;
        display: block;
        border: 2px solid #000;
 	color:#fff;
}
Link to post
Share on other sites

ОГРОМНОЕ СПАСИБО

 

mishanye

 

вопрос решен работает без проблем)

Вот этот же код из поста №19

<span class="purchase_variant" style="background:{$purchase->variant->name}"></span>

 

необходимо вставить в cart_informer.tpl и order.tpl

иначе вывод вариантов будет кодом

Еще раз спасибо 

mishanya
Link to post
Share on other sites

Это решение не пойдет принципиально, так как оно цепляет цвет к ТОВАРУ, а у ТС стоит задача совсем другая - задавать цвет для ВАРИАНТА.

 

Простейший способ - в админке добавить варианту поле для указания цвета. И в шаблоне уже менять вывод.

Еще проще - по совету Maksclub - использовать для этого поле названия варианта. Но это не всем подойдет...

 

Совет kislotnik-а - из серии "одно строим, другое ломаем". При его реализации в корзине и заказе во многих местах будет стоять что-то типа Сумка женская #5689a4, что не слишком хорошо...

Всегда можно изменить под заказчика.
Link to post
Share on other sites

Все бы ничего, но нашлись некоторые тонкости и неточности)))

видимо придется ждать

 

mishany

т.к. визуально клиент видит без проблем вариант цвета, а вот тот же Яндекс например не понимает этот цвет

Другими словами в yandex.xml параметр цвета передается как #000000

И теперь нужно yandex.php научить распознавать этот цвет

Или все же придется в админке в вариантах добавлять поле по аналогии варианта-->создавать таблицу в БД-->выводить этот параметр уже в yandex.xml

Link to post
Share on other sites

Все бы ничего, но нашлись некоторые тонкости и неточности)))

видимо придется ждать

 

mishany

т.к. визуально клиент видит без проблем вариант цвета, а вот тот же Яндекс например не понимает этот цвет

Другими словами в yandex.xml параметр цвета передается как #000000

И теперь нужно yandex.php научить распознавать этот цвет

Или все же придется в админке в вариантах добавлять поле по аналогии варианта-->создавать таблицу в БД-->выводить этот параметр уже в yandex.xml

 

можно создать массив соответствий цвет-название в yandex.php

Link to post
Share on other sites

можно создать массив соответствий цвет-название в yandex.php

 

Шикарное решение. Возможных цветов всего 16М, просто в yandex.php задать массив с 16М элементами. Превзойдет все имперы и джумлы вместе взятые...

Или может, массив будет поменьше?  А если какой цвет не найдется - письма админу отправлять - мол, у Вас выгрузка в ямаркет неправильная или неполная, допрограммируйте цвет такой-то. Тоже костыль замечательный выйдет...  

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...