Автор Тема: Улучшение списка характеристик/свойств товара. 1.5.6  (Прочитано 1133 раз)

11 Ноябрь 2013, 15:01:14
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В способах вывода характеристик товара есть небольшое неудобство - свойств может быть достаточно много, а выбор по одному / двум параметрам. Зашедшему впервые на сайт или не знакомому с данным видом товара сие может показаться неудобным - клацать по десятку списков, ища строчку с возможностью выбора.
Предлагаемый вариант прост и легко реализуем: все списки 1 значением просто запрещаем для изменения. Для этого меняем код в  /themes/default/product.tpl (строка 292)

<select {if ($group.attributes|@count < 2)} disabled {/if}  name="{$groupName}" id="group_{$id_attribute_group|intval}" class="attribute_select" onchange="findCombination();getProductAttribute();">

Жирным - добавленное.


Если хотим раскрасить в свои цвета (по умолчанию все серое), то добавляем в  /themes/default/css/product.css следующий код

select[disabled] {
    color: SteelBlue;
    background-color: white;
    border-style: solid;
}

Увидеть живьем

http://shop.trodat.kiev.ua/index.php?id_product=67&controller=product&id_lang=1#/pricetype-medium/stamptype-select/press-numberer/casecolor-grey/wordhigh-55/ink-black/numbercount-06/casetype-metall/lang-antique

На ошибки не пугайтесь: родные престашоповские + включен режим отладки.
11 Ноябрь 2013, 16:05:35
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
В стандарном варианте свойства у товара показываются только те, что можно изменить.
Если выводит все свойства, то это еще один баг.
11 Ноябрь 2013, 16:47:37
Ответ #2
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
#1

Выводит все, что записано в комбинациях. По-моему, так и должно быть. Просто по feature фильтр не работает так как надо (ссылку нельзя передать или обновить - писал в соседней ветке). Посему пока пользуюсь тем, что хоть как-то функционирует...
27 Январь 2015, 10:30:44
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не знаю, в тему или нет.

{if ($group.attributes_quantity[$id_attribute]>0)}
<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}</option>
{/if}
В этом случае в списке, например для размеров товара, будут отображаться те размеры для которых количество товара больше нуля...
27 Январь 2015, 11:37:25
Ответ #4
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в списке будут отображаться те размеры для которых количество товара больше нуля...

В движке есть возможность продавать товар без учета реальных остатков. Количество в этом случае будет "0" и ниже.
Опять же, есть опция как выводить товар - только в наличии или весь.