Отображение "в Наличии" – "под Заказ" Сразу В Категориях


#1

Добрый день!

Можно ли сделать отображение наличия товара сразу в категориях (вот тут, например: http://duhpoleta.ru/phantom-4/aksessuary/)
Чтобы не нужно было заходить в карточку товара или нажимать "Быстрый заказ", а чтобы сразу было наглядно.

Спасибо заранее!


#2

design/themes/TEMA/templates/blocks/list_templates/grid_list.tpl

в нужное место добавьте

{assign var="product_amount" value="product_amount_`$obj_id`"}
{$smarty.capture.$product_amount nofilter}

#3

design/themes/TEMA/templates/blocks/list_templates/grid_list.tpl

в нужное место добавьте

{assign var="product_amount" value="product_amount_`$obj_id`"}
{$smarty.capture.$product_amount nofilter}

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

Код:

{if $products}
{script src="js/tygh/exceptions.js"}


{if !$no_pagination}
    {include file="common/pagination.tpl"}
{/if}


{if !$no_sorting}
    {include file="views/products/components/sorting.tpl"}
{/if}

{if !$show_empty}
    {split data=$products size=$columns|default:"2" assign="splitted_products"}
{else}
    {split data=$products size=$columns|default:"2" assign="splitted_products" skip_complete=true}
{/if}

{math equation="100 / x" x=$columns|default:"2" assign="cell_width"}
{if $item_number == "Y"}
    {assign var="cur_number" value=1}
{/if}

{* FIXME: Don't move this file *}
{script src="js/tygh/product_image_gallery.js"}

{if $settings.Appearance.enable_quick_view == 'Y'}
    {$quick_nav_ids = $products|fn_fields_from_multi_level:"product_id":"product_id"}
{/if}
<div class="grid-list">
    {strip}
        {foreach from=$splitted_products item="sproducts" name="sprod"}
            {foreach from=$sproducts item="product" name="sproducts"}
                <div class="ty-column{$columns}">
                    {if $product}
                        {assign var="obj_id" value=$product.product_id}
                        {assign var="obj_id_prefix" value="`$obj_prefix``$product.product_id`"}
                        {include file="common/product_data.tpl" product=$product}

                        <div class="ty-grid-list__item ty-quick-view-button__wrapper">
                            {assign var="form_open" value="form_open_`$obj_id`"}
                            {$smarty.capture.$form_open nofilter}
                            {hook name="products:product_multicolumns_list"}
                                    <div class="ty-grid-list__image">
                                        {include file="views/products/components/product_icon.tpl" product=$product show_gallery=true}

                                        {assign var="discount_label" value="discount_label_`$obj_prefix``$obj_id`"}
                                        {$smarty.capture.$discount_label nofilter}
                                    </div>

                                    <div class="ty-grid-list__item-name">
                                        {if $item_number == "Y"}
                                            <span class="item-number">{$cur_number}.&nbsp;</span>
                                            {math equation="num + 1" num=$cur_number assign="cur_number"}
                                        {/if}

                                        {assign var="name" value="name_$obj_id"}
                                        {$smarty.capture.$name nofilter}
                                    </div>

                                    {assign var="rating" value="rating_$obj_id"}
                                    {if $smarty.capture.$rating}
                                        <div class="grid-list__rating">
                                            {$smarty.capture.$rating nofilter}
                                        </div>
                                    {/if}

                                    <div class="ty-grid-list__price {if $product.price == 0}ty-grid-list__no-price{/if}">
                                        {assign var="old_price" value="old_price_`$obj_id`"}
                                        {if $smarty.capture.$old_price|trim}{$smarty.capture.$old_price nofilter}{/if}

                                        {assign var="price" value="price_`$obj_id`"}
                                        {$smarty.capture.$price nofilter}

                                        {assign var="clean_price" value="clean_price_`$obj_id`"}
                                        {$smarty.capture.$clean_price nofilter}

                                        {assign var="list_discount" value="list_discount_`$obj_id`"}
                                        {$smarty.capture.$list_discount nofilter}
                                    </div>

                                    <div class="ty-grid-list__control">
                                        {if $settings.Appearance.enable_quick_view == 'Y'}
                                            {include file="views/products/components/quick_view_link.tpl" quick_nav_ids=$quick_nav_ids}
                                        {/if}

                                        {if $show_add_to_cart}
                                            <div class="button-container">
                                                {assign var="add_to_cart" value="add_to_cart_`$obj_id`"}
                                                {$smarty.capture.$add_to_cart nofilter}
                                            </div>
                                        {/if}
                                    </div>
                            {/hook}
                            {assign var="form_close" value="form_close_`$obj_id`"}
                            {$smarty.capture.$form_close nofilter}
                        </div>
                    {/if}
                </div>
            {/foreach}
            {if $show_empty && $smarty.foreach.sprod.last}
                {assign var="iteration" value=$smarty.foreach.sproducts.iteration}
                {capture name="iteration"}{$iteration}{/capture}
                {hook name="products:products_multicolumns_extra"}
                {/hook}
                {assign var="iteration" value=$smarty.capture.iteration}
                {if $iteration % $columns != 0}
                    {math assign="empty_count" equation="c - it%c" it=$iteration c=$columns}
                    {section loop=$empty_count name="empty_rows"}
                        <div class="ty-column{$columns}">
                            <div class="ty-product-empty">
                                <span class="ty-product-empty__text">{__("empty")}</span>
                            </div>
                        </div>
                    {/section}
                {/if}
            {/if}
        {/foreach}
    {/strip}
</div>

{if !$no_pagination}
    {include file="common/pagination.tpl"}
{/if}

{/if}

{capture name=“mainbox_title”}{$title}{/capture}


#4

Еще замените

{include file=“common/product_data.tpl” product=$product}
на

{include file=“common/product_data.tpl” product=$product show_product_amount=true}
Ну и кэш почистите

#5

Еще замените

{include file="common/product_data.tpl" product=$product}
на

{include file="common/product_data.tpl" product=$product show_product_amount=true}
Ну и кэш почистите

Не получается, подскажите, пожалуйста, что я не так делаю?

{if $products}
{script src="js/tygh/exceptions.js"}


{if !$no_pagination}
    {include file="common/pagination.tpl"}
{/if}

{assign var=“product_amount” value=“product_amount_$obj_id”}
{$smarty.capture.$product_amount nofilter}

{if !$no_sorting}
    {include file="views/products/components/sorting.tpl"}
{/if}

{if !$show_empty}
    {split data=$products size=$columns|default:"2" assign="splitted_products"}
{else}
    {split data=$products size=$columns|default:"2" assign="splitted_products" skip_complete=true}
{/if}

{math equation="100 / x" x=$columns|default:"2" assign="cell_width"}
{if $item_number == "Y"}
    {assign var="cur_number" value=1}
{/if}

{* FIXME: Don't move this file *}
{script src="js/tygh/product_image_gallery.js"}

{if $settings.Appearance.enable_quick_view == 'Y'}
    {$quick_nav_ids = $products|fn_fields_from_multi_level:"product_id":"product_id"}
{/if}
<div class="grid-list">
    {strip}
        {foreach from=$splitted_products item="sproducts" name="sprod"}
            {foreach from=$sproducts item="product" name="sproducts"}
                <div class="ty-column{$columns}">
                    {if $product}
                        {assign var="obj_id" value=$product.product_id}
                        {assign var="obj_id_prefix" value="`$obj_prefix``$product.product_id`"}
                        {include file="common/product_data.tpl" product=$product show_product_amount=true}

                        <div class="ty-grid-list__item ty-quick-view-button__wrapper">
                            {assign var="form_open" value="form_open_`$obj_id`"}
                            {$smarty.capture.$form_open nofilter}
                            {hook name="products:product_multicolumns_list"}
                                    <div class="ty-grid-list__image">
                                        {include file="views/products/components/product_icon.tpl" product=$product show_gallery=true}

                                        {assign var="discount_label" value="discount_label_`$obj_prefix``$obj_id`"}
                                        {$smarty.capture.$discount_label nofilter}
                                    </div>

                                    <div class="ty-grid-list__item-name">
                                        {if $item_number == "Y"}
                                            <span class="item-number">{$cur_number}.&nbsp;</span>
                                            {math equation="num + 1" num=$cur_number assign="cur_number"}
                                        {/if}

                                        {assign var="name" value="name_$obj_id"}
                                        {$smarty.capture.$name nofilter}
                                    </div>

                                    {assign var="rating" value="rating_$obj_id"}
                                    {if $smarty.capture.$rating}
                                        <div class="grid-list__rating">
                                            {$smarty.capture.$rating nofilter}
                                        </div>
                                    {/if}

                                    <div class="ty-grid-list__price {if $product.price == 0}ty-grid-list__no-price{/if}">
                                        {assign var="old_price" value="old_price_`$obj_id`"}
                                        {if $smarty.capture.$old_price|trim}{$smarty.capture.$old_price nofilter}{/if}

                                        {assign var="price" value="price_`$obj_id`"}
                                        {$smarty.capture.$price nofilter}

                                        {assign var="clean_price" value="clean_price_`$obj_id`"}
                                        {$smarty.capture.$clean_price nofilter}

                                        {assign var="list_discount" value="list_discount_`$obj_id`"}
                                        {$smarty.capture.$list_discount nofilter}
                                    </div>

                                    <div class="ty-grid-list__control">
                                        {if $settings.Appearance.enable_quick_view == 'Y'}
                                            {include file="views/products/components/quick_view_link.tpl" quick_nav_ids=$quick_nav_ids}
                                        {/if}

                                        {if $show_add_to_cart}
                                            <div class="button-container">
                                                {assign var="add_to_cart" value="add_to_cart_`$obj_id`"}
                                                {$smarty.capture.$add_to_cart nofilter}
                                            </div>
                                        {/if}
                                    </div>
                            {/hook}
                            {assign var="form_close" value="form_close_`$obj_id`"}
                            {$smarty.capture.$form_close nofilter}
                        </div>
                    {/if}
                </div>
            {/foreach}
            {if $show_empty && $smarty.foreach.sprod.last}
                {assign var="iteration" value=$smarty.foreach.sproducts.iteration}
                {capture name="iteration"}{$iteration}{/capture}
                {hook name="products:products_multicolumns_extra"}
                {/hook}
                {assign var="iteration" value=$smarty.capture.iteration}
                {if $iteration % $columns != 0}
                    {math assign="empty_count" equation="c - it%c" it=$iteration c=$columns}
                    {section loop=$empty_count name="empty_rows"}
                        <div class="ty-column{$columns}">
                            <div class="ty-product-empty">
                                <span class="ty-product-empty__text">{__("empty")}</span>
                            </div>
                        </div>
                    {/section}
                {/if}
            {/if}
        {/foreach}
    {/strip}
</div>

{if !$no_pagination}
    {include file="common/pagination.tpl"}
{/if}

{/if}

{assign var=“product_amount” value=“product_amount_$obj_id”}
{$smarty.capture.$product_amount nofilter}

{capture name=“mainbox_title”}{$title}{/capture}


#6

Не получается, подскажите, пожалуйста, что я не так делаю?

Добавляйте после этих строк

{foreach from=$splitted_products item="sproducts" name="sprod"}
                {foreach from=$sproducts item="product" name="sproducts"}

#7

Добавляйте после этих строк

{foreach from=$splitted_products item="sproducts" name="sprod"}
                {foreach from=$sproducts item="product" name="sproducts"}

Пояивлось отображение, но только одно на странице и внизу: https://yadi.sk/i/9a1secMFupNUE
А нужно актуальное под каждым товаром.


#8

Пояивлось отображение, но только одно на странице и внизу: https://yadi.sk/i/9a1secMFupNUE
А нужно актуальное под каждым товаром.

Поместите перед строчкой

Должно отобразиться вот так

http://prntscr.com/cetm01


#9

Поместите перед строчкой

Должно отобразиться вот так

http://prntscr.com/cetm01

Добавить перед этой строчкой ?

{assign var="product_amount" value="product_amount_`$obj_id`"}

Получается по-разному, но не так как нужно:
https://yadi.sk/i/dUAV5z7XuqNVt
https://yadi.sk/i/HF9sCIxnuqNVc
https://yadi.sk/i/OGfTehfOuqNVn

Уточните, пожалуйста)


#10

Скиньте в личку доступ, я вам сделаю


#11

Скиньте в личку доступ, я вам сделаю

Отправил


#12

Отправил

Ваше сообщение пустое. Пожалуйста, проверьте


#13

Ваше сообщение пустое. Пожалуйста, проверьте

Отправил новое сообщение.


#14

День добрый. Приношу свои извинения, если тема уже была поднята, но на просторах не нашел.

Вопрос про отображение товаров в наличии.

Нашел реализацию в стандартном функционале, что б вместо количества выводилось "Наличие товара" или "Товар отсутствует". Подскажите, как сделать что б при указании порога товаров в наличии выводилось к примеру "Товар заканчивается" (если к примеру товара в остатке меньше 5-ти) "Нет в наличии" (если 0) и "Есть в наличии" (если товара 5+).

Спасибо


#15

Ставить модуль. Например, этот


#16

А как реализовать, чтоб наоборот показывало, что товара нет в наличии?


#17

design/themes/TEMA/templates/common/product_data.tpl

попробуйте заменить

{if ($product_amount > 0 && $product_amount >= $product.min_qty) && $settings.General.inventory_tracking == "Y" || $details_page}

на

{if ($product_amount > 0 && $product_amount >= $product.min_qty) && $settings.General.inventory_tracking == "Y" || true}

(!) Не тестировано


#18

К сожалению не помогло.


#19

Кэш чистили?