Товар как услуга для CS-Cart
Модуль заменяет у всей категории надписи «Купить», «Купить в один клик», «Свяжитесь с нами насчет цены» и «Введите свою цену» на любые, заданные администратором. Также откроется возможность удаления цены.
Настройка на сервере
Шаблон цены price.tpl
design/themes/responsive/templates/common/price.tpl
в 1 строке добавить хук products:prices_tpl_mw_begin
в последней строке добавить хук products:prices_tpl_mw_end
Шаблон карточки товара product_data.tpl
design/themes/[название темы]/templates/common/product_data.tpl
если в теме витрины нет, то икать
design/themes/responsive/templates/common/product_data.tpl
Блок “Старая цена”
после строки 248 добавить хук products:old_price_begin
после строки 259 добавить хук products:old_price_end
код со скриншота
{hook name="products:old_price_begin"}{/hook}
{if $show_price_values && $show_old_price}
<span class="cm-reload-{$obj_prefix}{$obj_id} ty-list-price-block" id="old_price_update_{$obj_prefix}{$obj_id}">
{hook name="products:old_price"}
{if $product.discount}
<span class="ty-list-price ty-nowrap" id="line_old_price_{$obj_prefix}{$obj_id}">{if $details_page}{__("old_price")}: {/if}<span class="ty-strike">{include file="common/price.tpl" value=$product.original_price|default:$product.base_price span_id="old_price_`$obj_prefix``$obj_id`" class="ty-list-price ty-nowrap"}</span></span>
{elseif $product.list_discount}
<span class="ty-list-price ty-nowrap" id="line_list_price_{$obj_prefix}{$obj_id}">{if $details_page}<span class="list-price-label">{__("list_price")}:</span> {/if}<span class="ty-strike">{include file="common/price.tpl" value=$product.list_price span_id="list_price_`$obj_prefix``$obj_id`" class="ty-list-price ty-nowrap"}</span></span>
{/if}
{/hook}
<!--old_price_update_{$obj_prefix}{$obj_id}--></span>
{/if}
{hook name="products:old_price_end"}{/hook}
Блок “Цена”
после строки 277 добавить хук products:prices_mw_begin
после строки 279 добавить хук products:prices_mw_end
код со скриншота
{hook name="products:prices_mw_begin"}{/hook}
<span class="ty-price{if !$product.price|floatval && !$product.zero_price_action} hidden{/if}" id="line_discounted_price_{$obj_prefix}{$obj_id}">{include file="common/price.tpl" value=$product.price span_id="discounted_price_`$obj_prefix``$obj_id`" class="ty-price-num" live_editor_name="product:price:{$product.product_id}" live_editor_phrase=$product.base_price}</span>
{hook name="products:prices_mw_end"}{/hook}
в строке 282
добавить хук products:enter_your_price_begin
и products:enter_your_price_end
чтобы получилось так
код со скриншота
<span class="ty-price-curency"><span class="ty-price-curency__title">
{hook name="products:enter_your_price_begin"}{/hook}
{__("enter_your_price")}:
{hook name="products:enter_your_price_end"}{/hook}
</span>
в строке 295
добавить хук products:contact_us_begin
и products:contact_us_end
чтобы получилось так
код со скриншота
<span class="ty-no-price">
{hook name="products:contact_us_begin"}{/hook}
{__("contact_us_for_price")}
{hook name="products:contact_us_end"}{/hook}
</span>
Блок “Вы экономите”
после строки 334 добавить хук products:you_save_begin
после строки 350 добавить хук products:you_save_end
код со скриншота
{capture name="list_discount_`$obj_id`"}
{hook name="products:you_save_begin"}{/hook}
{if $show_price_values && $show_list_discount}
{assign var="prc" value="discount_prc"}
{if $product.list_discount_prc > 0}
{assign var="prc" value="list_discount_prc"}
{/if}
<span class="cm-reload-{$obj_prefix}{$obj_id}" id="line_discount_update_{$obj_prefix}{$obj_id}">
<input type="hidden" name="appearance[show_price_values]" value="{$show_price_values}" />
<input type="hidden" name="appearance[show_list_discount]" value="{$show_list_discount}" />
{if $product.discount}
<span class="ty-list-price ty-save-price ty-nowrap {if $product.$prc <= 25}color1{/if} {if $product.$prc > 25 && $product.$prc <= 50}color2{/if} {if $product.$prc > 50}color3{/if}" id="line_discount_value_{$obj_prefix}{$obj_id}">{__("you_save")}: {include file="common/price.tpl" value=$product.discount span_id="discount_value_`$obj_prefix``$obj_id`" class="ty-list-price ty-nowrap"}</span>
{elseif $product.list_discount}
<span class="ty-list-price ty-save-price ty-nowrap {if $product.$prc <= 25}color1{/if} {if $product.$prc > 25 && $product.$prc <= 50}color2{/if} {if $product.$prc > 50}color3{/if}" id="line_discount_value_{$obj_prefix}{$obj_id}"> {__("you_save")}: {include file="common/price.tpl" value=$product.list_discount span_id="discount_value_`$obj_prefix``$obj_id`"}</span>
{/if}
<!--line_discount_update_{$obj_prefix}{$obj_id}--></span>
{/if}
{hook name="products:you_save_end"}{/hook}
{/capture}
Блок “Описание электронного товара”
после строки 556 добавить хук products:edp_description_mw_begin
после строки 570 добавить хук products:edp_description_mw_end
код со скриншота
{hook name="products:edp_description_mw_begin"}{/hook}
{if $show_edp && $product.is_edp == "Y"}
<p class="ty-edp-description">{__("text_edp_product")}.</p>
<input type="hidden" name="product_data[{$obj_id}][is_edp]" value="Y" />
{/if}
{hook name="products:edp_description_mw_end"}{/hook}
Кнопка “Купить в один клик”
design/themes/responsive/templates/addons/call_requests/hooks/products/add_to_cart.post.tpl
изменить на
код со скриншота
{if !$hide_form
&& $addons.call_requests.buy_now_with_one_click == "Y"
&& ($auth.user_id
|| $settings.General.allow_anonymous_shopping == "allow_shopping"
) && $show_buy_now|default:true
}
{if $product.button_buy_one_click}{assign var="but_text" value="{$product.button_buy_one_click}"}
{else}{assign var="but_text" value="{__("call_requests.buy_now_with_one_click")}"}{/if}
{include file="common/popupbox.tpl"
href="call_requests.request?product_id={$product.product_id}&obj_prefix={$obj_prefix}"
link_text=$but_text
text=$but_text
id="call_request_{$obj_prefix}{$product.product_id}"
link_meta="ty-btn ty-btn__text ty-cr-product-button"
content=""
}
{/if}
Настройки модуля
- Перейдите во вкладку «Модули» → «Управление модулями»
- Выберите модуль из списка
- Введите лицензионный ключ
- Сохраните данные, чтобы не потерять их при переустановке модуля
- Если нужно, скройте цену всех товаров магазина с нулевой ценой, у которых в поле «Действие при нулевой цене» стоит «Разрешить добавить товар в корзину»
- Перейдите в «Витрины». Отметьте витрину, для которой будет применён модуль, ИНАЧЕ НИЧЕГО РАБОТАТЬ НЕ БУДЕТ (не для Multi-Vendor, Multi-Vendor PLUS)
- Сохраните настройки модуля
Функционал
- Зайдите во вкладку модуля «Товар как услуга»
- Нажмите кнопку «Добавить»
3.1. Выберите категорию. При необходимости примените ко всем подкатегориям
3.2. Если нужно, скройте цену всех товаров в категории
3.3. Если в магазине разрешена продажа цифровых товаров, то появятся дополнительные настройки:
- «Цифровой товар» — применится ко всем товарам в категории
- Поле «Поставка цифрового товара»
3.4. Выберите форму налога
3.5. В поле «Действие при нулевой цене» выберите один из трёх вариантов:
- Не разрешать добавлять товар в корзину
- Разрешить добавить товар в корзину
- Попросить покупателя ввести цену
3.6. В поле «Действие при отсутствии товара в наличии» выберите один из трёх вариантов:
- Не выбрано (надпись «Нет в наличии»)
- «Предзаказ»
- «Подписаться на уведомления»
3.7. Также можно изменить надписи «Купить», «Купить в один клик», «Свяжитесь с нами насчёт цены», «Введите свою цену»
3.8. Нажмите кнопку «Создать»