Добавить Товар В Корзину Минуя Выбор Опций


#1

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


#2

design/themes/ТЕМА/templates/common/product_data.tpl

нужно заменить

        {if $product.has_options && !$show_product_options && !$details_page}
            {if $but_role == "text"}
                {$opt_but_role="text"}
            {else}
                {$opt_but_role="action"}
            {/if}
            {include file="buttons/button.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_text=__("select_options") but_href="products.view?product_id=`$product.product_id`" but_role=$opt_but_role but_name="" but_meta="ty-btn__primary ty-btn__big"}
        {else}
            {if $extra_button}{$extra_button nofilter} {/if}
                {include file="buttons/add_to_cart.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_name="dispatch[checkout.add..`$obj_id`]" but_role=$but_role block_width=$block_width obj_id=$obj_id product=$product but_meta=$add_to_cart_meta}
        {assign var="cart_button_exists" value=true}
    {/if}

на

            {if $extra_button}{$extra_button nofilter} {/if}
                {include file="buttons/add_to_cart.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_name="dispatch[checkout.add..`$obj_id`]" but_role=$but_role block_width=$block_width obj_id=$obj_id product=$product but_meta=$add_to_cart_meta}
        {assign var="cart_button_exists" value=true}

хук имеется. Но будут выбраны первые опции

Для дефолтного выбора уже колдовать надо


#3

хук имеется. Но будут выбраны первые опции

Именно это я и имел ввиду. Вы как всегда на высоте! Спасибо.


#4

design/themes/ТЕМА/templates/common/product_data.tpl

нужно заменить

        {if $product.has_options && !$show_product_options && !$details_page}
            {if $but_role == "text"}
                {$opt_but_role="text"}
            {else}
                {$opt_but_role="action"}
            {/if}
            {include file="buttons/button.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_text=__("select_options") but_href="products.view?product_id=`$product.product_id`" but_role=$opt_but_role but_name="" but_meta="ty-btn__primary ty-btn__big"}
        {else}
            {if $extra_button}{$extra_button nofilter} {/if}
                {include file="buttons/add_to_cart.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_name="dispatch[checkout.add..`$obj_id`]" but_role=$but_role block_width=$block_width obj_id=$obj_id product=$product but_meta=$add_to_cart_meta}
        {assign var="cart_button_exists" value=true}
    {/if}

на

            {if $extra_button}{$extra_button nofilter} {/if}
                {include file="buttons/add_to_cart.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_name="dispatch[checkout.add..`$obj_id`]" but_role=$but_role block_width=$block_width obj_id=$obj_id product=$product but_meta=$add_to_cart_meta}
        {assign var="cart_button_exists" value=true}

хук имеется. Но будут выбраны первые опции

Все работает, но заметил, что если товара нет в наличии, то кнопка "Купить" все равно отображается в списке товаров. А текст "Наличие: нет в наличии" не выводится.

Как допилить?


#5

Все работает, но заметил, что если товара нет в наличии, то кнопка "Купить" все равно отображается в списке товаров. А текст "Наличие: нет в наличии" не выводится.

Как допилить?

Попробуйте обернуть код кнопки следующим кодом

{if (!$details_page && $product_amount >0) || $details_page}
    ....
{/if}

#6

Попробуйте обернуть код кнопки следующим кодом

{if (!$details_page && $product_amount >0) || $details_page}
    ....
{/if}

Работает, только в списке товаров, для товаров у которых есть опции текст "нет в наличии" не выводится


#7

Работает, только в списке товаров, для товаров у которых есть опции текст "нет в наличии" не выводится

Не совсем понял с наличием. Пожалуйста, поясните


#8

Не совсем понял с наличием. Пожалуйста, поясните

1.png

2.png


#9

Не совсем понял с наличием. Пожалуйста, поясните

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


#10

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

Комбинации использую, но отслеживаю кол-во без учета опций


#11

Комбинации использую, но отслеживаю кол-во без учета опций

В дефолте и не показывается. Попробуйте в файле

design/themes/ТЕМА/templates/blocks/product_list_templates/products_multicolumns.tpl

добавить

show_product_amount=true 

и в файле

design/themes/ТЕМА/templates/blocks/list_templates/grid_list.tpl

добавить

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

#12

Здравствуйте. При нажатии на кнопку "Купить" со страницы категории (уже минуя карточку товара), появляется окно "Товар добавлен в корзину" в котором просто указана выбранная по умолчанию опция (радиогруппа). То есть выбрать опцию уже не возможно. У нас продукция "мелочевка", за частую клиент не заходит в карточку товара чтобы полностью изучить его. А увидев окно в котором уже указана опция, покупатель думает, что так и должно быть, да и что такое опция от может и знать не знает.

Это конечно не беда если покупатель затем идет в корзину и там уже меняет опцию, но бывает когда покупатель сразу нажимает "Оформить заказ" минуя просмотра корзины. Через какое то время узнает, что у товара есть опция и расстраивается.

ВОПРОС: Как сделать - принудительный выбор опции после нажатия на кнопку Купить в окне "Товар добавлен в корзину"? Можно ли сделать принудительный выбор только для одной из глобальных опций? (Например в товаре 2 глобальных опции: текст и радиогруппа. Можно ли сделать принудительный выбор только опции радиогруппы или по названию опции?)

ИЛИ

Сейчас на странице категории у товара отображаются 2 кнопки "Купить" и "Купить в 1 клик". Можно ли сделать вместо кнопки купить в 1 клик кнопку выбрать опцию?

Версия CScart

			version
		
			4.6.3
	
			 
		
			type
		
			ULTIMATE
	
			 
		
			status
		
			 
	
			 
		
			build
		
			RU
	<p> </p>

#13

Я так понимаю, вы вносили изменения из второго поста. Для отображения 2х кнопок используйте вместо

        {if $product.has_options && !$show_product_options && !$details_page}
            {if $but_role == "text"}
                {$opt_but_role="text"}
            {else}
                {$opt_but_role="action"}
            {/if}
            {include file="buttons/button.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_text=__("select_options") but_href="products.view?product_id=`$product.product_id`" but_role=$opt_but_role but_name="" but_meta="ty-btn__primary ty-btn__big"}
        {else}
            {if $extra_button}{$extra_button nofilter} {/if}
                {include file="buttons/add_to_cart.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_name="dispatch[checkout.add..`$obj_id`]" but_role=$but_role block_width=$block_width obj_id=$obj_id product=$product but_meta=$add_to_cart_meta}
        {assign var="cart_button_exists" value=true}
    {/if}

этот код

        {if $product.has_options && !$show_product_options && !$details_page}
            {if $but_role == "text"}
                {$opt_but_role="text"}
            {else}
                {$opt_but_role="action"}
            {/if}
            {include file="buttons/button.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_text=__("select_options") but_href="products.view?product_id=`$product.product_id`" but_role=$opt_but_role but_name="" but_meta="ty-btn__primary ty-btn__big"}
        {/if}
        {if $extra_button}{$extra_button nofilter} {/if}
        {include file="buttons/add_to_cart.tpl" but_id="button_cart_`$obj_prefix``$obj_id`" but_name="dispatch[checkout.add..`$obj_id`]" but_role=$but_role block_width=$block_width obj_id=$obj_id product=$product but_meta=$add_to_cart_meta}
        {assign var="cart_button_exists" value=true}

#14

Я так понимаю, вы вносили изменения из второго поста. Для отображения 2х кнопок используйте вместо

Да, вносил изменения из второго поста.

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

(кэш очищен и "Обновлять кэш автоматически" стоит on)

Что должно было произойти - на что обратить внимание?


#15

Да, вносил изменения из второго поста.

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

(кэш очищен и "Обновлять кэш автоматически" стоит on)

Что должно было произойти - на что обратить внимание?

При наличии опций, будут отображаться 2 кнопки - выбрать опции и добавить в корзину


#16

При наличии опций, будут отображаться 2 кнопки - выбрать опции и добавить в корзину

К сожалению изменения в коде не повлияли на кнопки. как были "купить" и "купить в один клик", так и остались.


#17

К сожалению изменения в коде не повлияли на кнопки. как были "купить" и "купить в один клик", так и остались.

Возможно, какой-то модуль перезаписывает стандартный шаблон с кнопками. На локальной установке все сработало