блок покупки товара

Добавил в следующую версию.
Блок будет иметь id super.stock_text.

Сергеев Владимир
Сергеев Владимир

Приложения Магазин –> шаблоны –> файл product.cart.html

Было

<div class="uk-card-header">
{$buy_title = sprintf('[`Buy %s`]',$product.name|escape)}
{if !empty($theme_settings.buy_block_title) && $theme_settings.buy_block_title == 'title'}
{$buy_title = $product.name|escape}
{/if}
<div class="uk-h4">{$buy_title}</div>
</div>

Стало

<div class="uk-card-header">
{$buy_title = sprintf('[`Buy %s`]',$product.data[3]|escape)}
{if !empty($theme_settings.buy_block_title) && $theme_settings.buy_block_title == 'title'}
{$buy_title = $product.data[3]|escape}
{/if}
<div class="uk-h4">{$buy_title}</div>
</div>

Заменил переменную

$product.name на $product.data[3]

т.к. она содержит наименование товара.

Результат:

Так можно делать, ничего другого не сломал?)

Виталий
Виталий

Здравствуйте, Андрей! 

Искомое место редактируется в файле product.cart.html в теме для приложения Магазин. 
Но там три варианта для вывода: на странице товара, в быстром просмотре и быстром выборе товара (когда у товара несколько артикулов и перед отправкой товара в корзину из списка товаров нужно выбрать артикул). 

Поэтому ищите три фрагмента: 

{if !empty($is_skus_exist)}

И после закрывающего {/if} конструкции, которая находится под {if !empty($is_skus_exist)} вставляйте хелпер своего плагина. 
Предварительно оберните его тегом, чтобы добавить отступы: 

<div class="{$p_class}">
 {* Сюда вставлять хелпер плагина *}
</div>

Сергеев Владимир
Сергеев Владимир

Здравствуйте, Александр! 

Откройте приложение Магазин –> витрина –> тема –> шаблоны –> файл product.cart.html 
В этом файле найдите строчку:

<span class="hint uk-text-muted" itemprop="sku">[`SKU`]: {$sku.sku|escape}</span>

И добавьте перед ней код:

{if $sku.name}
    <div>{$sku.name|escape}</div>
{/if}

Сергеев Владимир
Сергеев Владимир

Откройте приложение Магазин –> витрина –> Special –> шаблоны –> файл product.cart.html
Найдите там код:

{if $n > $low or $n === null}

    {* В НАЛИЧИИ *}
    <div class="in-stock nowrap">
        <i class="fa fa-check-circle ratio1x stock-high"></i>&nbsp;
        <span class="uk-text-muted">[`In stock`]</span>
    </div>

{elseif $n > $critical}

    {* ОСТАЛОСЬ НЕСКОЛЬКО ШТУК *}
    <div class="in-stock nowrap">
        <i class="fa fa-check-circle ratio1x stock-low"></i>&nbsp;
        <span class="uk-text-muted">{_w("Only %d left in stock", "Only %d left in stock", $n)}</span>
        {*_w("Only a few items left")*}
    </div>

{elseif $n > 0}

    {* ОСТАЛОСЬ МЕНЬШЕ 2 ШТУК *}
    <div class="out-of-stock nowrap">
        <i class="fa fa-exclamation-triangle ratio1x stock-low"></i>&nbsp;
        <span class="uk-text-muted">{_w("Only %d left in stock", "Only %d left in stock", $n)}</span>
    </div>
{else}

    {* НЕТ В НАЛИЧИИ *}
    <div class="out-of-stock nowrap">
        {if $wa->shop->settings('ignore_stock_count')}
            <i class="fa fa-clock-o ratio1x stock-critical"></i>&nbsp;
            <span class="uk-text-muted">[`Pre-order only`]</span>
        {else}
            <i class="fa fa-times-circle ratio1x stock-critical"></i>&nbsp;
            <span class="uk-text-muted">[`Out of stock`]</span>
        {/if}
    </div>

{/if}

И замените его на:

{if $n > $low or $n === null}

    {* В НАЛИЧИИ *}
    <div class="in-stock nowrap">
        <i class="fa fa-check-circle ratio1x stock-high"></i>&nbsp;
        <span class="uk-text-muted">[`In stock`]</span>
    </div>

{elseif $n > $critical}

    <div class="in-stock nowrap">
        <i class="fa fa-check-circle ratio1x stock-high"></i>&nbsp;
        <span class="uk-text-muted">[`In stock`]</span>
    </div>

{elseif $n > 0}

    <div class="in-stock nowrap">
        <i class="fa fa-check-circle ratio1x stock-high"></i>&nbsp;
        <span class="uk-text-muted">[`In stock`]</span>
    </div>
{else}

    {* НЕТ В НАЛИЧИИ *}
    <div class="out-of-stock nowrap">
        {if $wa->shop->settings('ignore_stock_count')}
            <i class="fa fa-clock-o ratio1x stock-critical"></i>&nbsp;
            <span class="uk-text-muted">[`Pre-order only`]</span>
        {else}
            <i class="fa fa-times-circle ratio1x stock-critical"></i>&nbsp;
            <span class="uk-text-muted">[`Out of stock`]</span>
        {/if}
    </div>

{/if}

Сергеев Владимир
Сергеев Владимир

Плагин работает корректно, просто вы его не в то место поместили хелпер. 

Нужно было добавлять перед строками:

{$uk_order = ''}
{if method_exists($wa->shop, 'checkout')}

Я добавил вам хелпер и небольшие стили, для скрытия кнопки покупки, если артикул недоступен. 

<div data-visible-load>{shopArrivedPlugin::getFormHtml($product)}</div>
<style>button.uk-button[disabled="disabled"] { display:none; }</style>

data-visible-load – скрывает содержимое блока, пока страница не загрузится, потом удаляется. Это позволяет скрыть "портянку" текста, который выводит плагин, но которая видна, пока плагин не инициализировался. 

Сергеев Владимир
Сергеев Владимир
Как везде спрятать кнопку в корзину, она есть в настройках но тогда и прячется купить в один клик. подскажите места в шаблонах как правильно сделать чтобы лишнее не потереть.

Добавьте в блок super.user_css код:

.action-product button[type="submit"],
.product-list button[type="submit"] {
  display:none;
}

А чтобы растянуть кнопку "купить в 1 клик" добавьте также код:

.action-product .quickorder-button,
.product-list .quickorder-button {
  width:100%;
}

Сергеев Владимир
Сергеев Владимир
 Чтобы просматривать все темы, пожалуйста зарегистриуйтесь или войдите
Мы получаем и обрабатываем персональные данные посетителей нашего сайта в соответствии с официальной политикой.
Если Вы продолжите использовать сайт, мы будем считать, что Вас это устраивает.
Подписывайтесь и получайте скидки!

Узнавайте первым о скидках и специальных предложениях!