Помощь Изменение вида атрибутов без наличия

Сергей_К

Manager
Разрушитель (V)
Сообщения
70
Реакции
115
Баллы
2 166
Всем привет. Есть магазин на Prestashop 1.6.1.24 и с темой transformer v 3.4.2.
Нужно, чтобы атрибуты без наличия отображались на сайте, но каким-то другим цветом. Чтоб можно было прикрутить модуль уведомления. Сейчас показывать все атрибуты для клиентов немного геморно. Пока они перепробую, что есть в наличия, а чего нет, то пол пальца об экран можно стереть.
У кого какие есть решения? Может кто уже с этим сталкивался.
 
Это совсем скрыть, а нужно показывать, чтоб была возможность оставить почту для уведомления о наличии.
На трансформере еще вот так можно сделать, чтоб атрибуты, которых нет в наличии, были перечеркнуты:
Посмотреть вложение 3867
Это на Престе 1.6? Я видел такое на Трансформете v.4 для Престы 1.7
 
Это на Престе 1.6? Я видел такое на Трансформете v.4 для Престы 1.7
Это на 1.7
Можно попробовать, может и на 1.6 заработает такой способ.
Делается через css
Инструкция тут:
 
Это на 1.7
Можно попробовать, может и на 1.6 заработает такой способ.
Делается через css
Инструкция тут:
Это смотрел, так не работает. Все бы очень просто было бы ;)
 
Нужно видеть сайт. Там стилями точно нельзя прикрутить? точно нет класса, что нет в наличии?
 
Нужно видеть сайт. Там стилями точно нельзя прикрутить? точно нет класса, что нет в наличии?
Код:
<fieldset class="attribute_fieldset">
    <label class="attribute_label">Размер&nbsp;</label>
        <div class="attribute_list">
                    <ul class="attribute_radio_list">
                                    <li>
                        <div class="radio"><span class="checked"><input type="radio" class="attribute_radio" name="group_1" value="39" checked="checked"></span></div>
                        <span class="radio_label">XS</span>
                    </li>
                                    <li>
                        <div class="radio"><span><input type="radio" class="attribute_radio" name="group_1" value="1"></span></div>
                        <span class="radio_label">S</span>
                    </li>
                                    <li>
                        <div class="radio"><span><input type="radio" class="attribute_radio" name="group_1" value="2"></span></div>
                        <span class="radio_label">M</span>
                    </li>
                                    <li>
                        <div class="radio"><span><input type="radio" class="attribute_radio" name="group_1" value="3"></span></div>
                        <span class="radio_label">L</span>
                    </li>
                                    <li>
                        <div class="radio"><span><input type="radio" class="attribute_radio" name="group_1" value="30"></span></div>
                        <span class="radio_label">XL</span>
                    </li>
                            </ul>
            </div> <!-- end attribute_list -->
</fieldset>
Я с того начал, думал сам справлюсь, но проверка на наличие проводится после выбора атрибута.
В примере выше размер XS есть в наличии и включен по умолчанию, размер S есть в наличии, остальных размеров нет. Никакой разницы.
 
HTML:
                    <div class="product_attributes clearfix">
                        {if isset($groups)}
                            <!-- attributes -->
                            <div id="attributes">
                                <div class="clearfix"></div>
                                {foreach from=$groups key=id_attribute_group item=group}
                                    {if $group.attributes|@count}
                                        <fieldset class="attribute_fieldset">
                                            <label class="attribute_label" {if $group.group_type != 'color' && $group.group_type != 'radio'}for="group_{$id_attribute_group|intval}"{/if}>{$group.name|escape:'html':'UTF-8'}&nbsp;</label>
                                            {assign var="groupName" value="group_$id_attribute_group"}
                                            <div class="attribute_list">
                                                {if ($group.group_type == 'select')}
                                                    <select name="{$groupName}" id="group_{$id_attribute_group|intval}" class="form-control attribute_select no-print">
                                                        {foreach from=$group.attributes key=id_attribute item=group_attribute}
                                                            <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:'html':'UTF-8'}">{$group_attribute|escape:'html':'UTF-8'}</option>
                                                        {/foreach}
                                                    </select>
                                                {elseif ($group.group_type == 'color')}
                                                    <ul id="color_to_pick_list" class="clearfix">
                                                        {assign var="default_colorpicker" value=""}
                                                        {foreach from=$group.attributes key=id_attribute item=group_attribute}
                                                            {assign var='img_color_exists' value=file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}
                                                            <li{if $group.default == $id_attribute} class="selected"{/if}>
                                                                <a href="{$link->getProductLink($product)|escape:'html':'UTF-8'}" id="color_{$id_attribute|intval}" name="{if isset($colors.$id_attribute.value)}{$colors.$id_attribute.name|escape:'html':'UTF-8'}{/if}" class="color_pick{if ($group.default == $id_attribute)} selected{/if}"{if !$img_color_exists && isset($colors.$id_attribute.value) && $colors.$id_attribute.value} style="background: {$colors.$id_attribute.value|escape:'html':'UTF-8'};"{/if} title="{if isset($colors.$id_attribute.value)}{$colors.$id_attribute.name|escape:'html':'UTF-8'}{/if}">
                                                                    {if $img_color_exists}
                                                                        <img src="{$img_col_dir}{$id_attribute|intval}.jpg" alt="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" width="20" height="20" />
                                                                    {/if}
                                                                </a>
                                                            </li>
                                                            {if ($group.default == $id_attribute)}
                                                                {$default_colorpicker = $id_attribute}
                                                            {/if}
                                                        {/foreach}
                                                    </ul>
                                                    <input type="hidden" class="color_pick_hidden" name="{$groupName|escape:'html':'UTF-8'}" value="{$default_colorpicker|intval}" />
                                                {elseif ($group.group_type == 'radio')}
                                                    <ul class="attribute_radio_list">
                                                        {foreach from=$group.attributes key=id_attribute item=group_attribute}
                                                            <li>
                                                                <input type="radio" class="attribute_radio" name="{$groupName|escape:'html':'UTF-8'}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} />
                                                                <span class="radio_label">{$group_attribute|escape:'html':'UTF-8'}</span>
                                                            </li>
                                                        {/foreach}
                                                    </ul>
                                                {/if}
                                            </div> <!-- end attribute_list -->
                                        </fieldset>
                                    {/if}
                                {/foreach}
                            </div> <!-- end attributes -->
                        {/if}



                        {if ($display_qties == 1 && !$PS_CATALOG_MODE && $PS_STOCK_MANAGEMENT && $product->available_for_order)}
                            <!-- number of item in stock -->
                            <div id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}>
                                <span id="quantityAvailable">{$product->quantity|intval}</span>
                                <span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='Item'}</span>
                                <span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='Items'}</span>
                            </div>
                        {/if}
                        <!-- availability or doesntExist -->
                        <div id="availability_statut"{if !$PS_STOCK_MANAGEMENT || ($product->quantity <= 0 && !$product->available_later && $allow_oosp) || ($product->quantity > 0 && !$product->available_now) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>
                            {*<span id="availability_label">{l s='Availability:'}</span>*}
                            <span id="availability_value" class="{if $product->quantity <= 0 && !$allow_oosp} st-label-danger{elseif $product->quantity <= 0} st-label-warning{else} st-label-success{/if}">{if $product->quantity <= 0}{if $PS_STOCK_MANAGEMENT && $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{elseif $PS_STOCK_MANAGEMENT}{$product->available_now}{/if}
                            </span>
                        </div>
                        {if $PS_STOCK_MANAGEMENT}
                            {if !$product->is_virtual}{hook h="displayProductDeliveryTime" product=$product}{/if}
                            <div class="warning_inline mar_t4" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >{l s='Warning: Last items in stock!'}</div>
                        {/if}
                        <div id="availability_date"{if ($product->quantity > 0) || !$product->available_for_order || $PS_CATALOG_MODE || !isset($product->available_date) || $product->available_date < $smarty.now|date_format:'%Y-%m-%d'} style="display: none;"{/if}>
                            <span id="availability_date_label">{l s='Availability date:'}</span>
                            <span id="availability_date_value">{if Validate::isDate($product->available_date)}{dateFormat date=$product->available_date full=false}{/if}</span>
                        </div>
                        <!-- Out of stock hook -->
 
я сейчас как раз делаю предзаказ для товаров которых нет в наличии и с комбинациями. Там правда свой модуль для комбинаций, есть на то причина, за пару дней разберусь и скорее всего, попутно, найду решение и этой проблемы.
 
я сейчас как раз делаю предзаказ для товаров которых нет в наличии и с комбинациями. Там правда свой модуль для комбинаций, есть на то причина, за пару дней разберусь и скорее всего, попутно, найду решение и этой проблемы.
:) ну как, не получилось найти решение?
 
:) ну как, не получилось найти решение?
Получилось. Там правда другой плагин использовали. Но смысл таков:
Находим вывод атрибутов и там прописываем условие на проверку количества. {if $combination.quantity < = 0 } stylenull {/if}
и это прописываем в классе. как то так :) Более подробно могу рассказать - но нужно видеть сайт и файлы.
 
Назад
Верх