Скрытие только цен

Допустим мы хотим скрыть только цены, но хотим оставить функционал добавления в корзину и оформление заказа. В этом случае функционал из коробки не поможет. Придется пользоваться хелперами.

Приведу пример на популярной теме Supreme design

В этом примере рассмотрен вариант когда в настройках включен чекбокс "Всегда скрывать все товары". Это самый экономный вариант с точки зрения потребления ресурсов системы. Тогда мы можем повсеместно пользоваться хелпером shopHidePluginViewHelper::isHideEngineOn()

Чтобы у нас работала кнопка добавления в корзину, нужно сделать настройки как на скриншоте:

В приложении "Магазин"

в product.cart.html

в самом начале
{$isHideEngineOn = shopHidePluginViewHelper::isHideEngineOn()}

потом находим

{if $product.compare_price > 0}
<span data-price="{shop_currency($product.price, null, null, 0)}" class="price price-new nowrap">{shop_currency_html($product.price)}</span>
<span class="compare-at-price nowrap"> {shop_currency_html($product.compare_price)}</span>
{else}
<span data-price="{shop_currency($product.price, null, null, 0)}" class="price nowrap">{shop_currency_html($product.price)}</span>
{/if}

заменяем на
{if $isHideEngineOn}

<span class="price price-new nowrap">Цена договорная</span>

{else}

{if $product.compare_price > 0}
<span data-price="{shop_currency($product.price, null, null, 0)}" class="price price-new nowrap">{shop_currency_html($product.price)}</span>
<span class="compare-at-price nowrap"> {shop_currency_html($product.compare_price)}</span>
{else}
<span data-price="{shop_currency($product.price, null, null, 0)}" class="price nowrap">{shop_currency_html($product.price)}</span>
{/if}

{/if}

в products-list.html
в самом начале
{$isHideEngineOn = shopHidePluginViewHelper::isHideEngineOn()}


потом ищем

{if $p.compare_price > 0}
<span class="price price-new nowrap">{shop_currency_html($p.price)}</span>
<span class="compare-at-price nowrap"> {shop_currency_html($p.compare_price)}</span>
{else}
<span class="price nowrap">{shop_currency_html($p.price)}</span>
{/if}

заменяем на

{if $isHideEngineOn}
<span class="price price-new nowrap">Цена договорная</span>
{else}
{if $p.compare_price > 0}
<span class="price price-new nowrap">{shop_currency_html($p.price)}</span>
<span class="compare-at-price nowrap"> {shop_currency_html($p.compare_price)}</span>
{else}
<span class="price nowrap">{shop_currency_html($p.price)}</span>
{/if}
{/if}

в cart.html

в самом начале
{$isHideEngineOn = shopHidePluginViewHelper::isHideEngineOn()}

потом ищем

<span class="nowrap">{shop_currency_html($item.price, true)}</span>
{if $item.compare_price != 0}
<br>
<span class="compare-at-price nowrap">{shop_currency_html($item.compare_price, true)}</span>
{/if}

заменяем на

{if $isHideEngineOn}
<span class="nowrap">Цена договорная</span>
{else}
<span class="nowrap">{shop_currency_html($item.price, true)}</span>
{if $item.compare_price != 0}
<br>
<span class="compare-at-price nowrap">{shop_currency_html($item.compare_price, true)}</span>
{/if}

ищем

<span class="nowrap">{shop_currency_html($item.full_price, true)}</span>

заменяем на

{if $isHideEngineOn}
{else}
<span class="nowrap">{shop_currency_html($item.full_price, true)}</span>
{/if}


ищем

<td class="cart-total total nowrap">{shop_currency_html($cart.total, true)}</td>

заменяем на

{if !$isHideEngineOn}
<td class="cart-total total nowrap">{shop_currency_html($cart.total, true)}</td>
{/if}

в checkout.confirmation.html

в самом начале
{$isHideEngineOn = shopHidePluginViewHelper::isHideEngineOn()}

ищем

<td class="align-right nowrap"><span class="gray">{shop_currency_html($item.price, $item.currency)} ×</span> {$item.quantity}</td>
{if $tax > 0}
<td class="align-right nowrap">{if isset($item.tax)}{shop_currency_html($item.tax, true)}{else}–{/if}</td>
{/if}
<td class="align-right nowrap">{shop_currency_html($item.price * $item.quantity, $item.currency)}</td>

меняем на

<td class="align-right nowrap"><span class="gray">{if !$isHideEngineOn}{shop_currency_html($item.price, $item.currency)}{/if} ×</span> {$item.quantity}</td>
{if !$isHideEngineOn}
{if $tax > 0}
<td class="align-right nowrap">{if isset($item.tax)}{shop_currency_html($item.tax, true)}{else}–{/if}</td>
{/if}
{/if}
<td class="align-right nowrap">{if !$isHideEngineOn}{shop_currency_html($item.price * $item.quantity, $item.currency)}{/if}</td>

ищем

<td class="align-right nowrap">{shop_currency_html($subtotal, true)}</td>

меняем на

{if !$isHideEngineOn}
<td class="align-right nowrap">{shop_currency_html($subtotal, true)}</td>
{/if}

ищем

<td class="align-right nowrap">− {shop_currency_html($discount, true)}</td>

меняем на

{if !$isHideEngineOn}
<td class="align-right nowrap">− {shop_currency_html($discount, true)}</td>
{/if}

ищем

<td class="align-right nowrap">{shop_currency_html($tax, true)}</td>

меняем на

{if !$isHideEngineOn}
<td class="align-right nowrap">{shop_currency_html($tax, true)}</td>
{/if}

ищем

<td class="align-right nowrap"><strong class="large">{shop_currency_html($total, true)}</strong></td>

меняем на

{if !$isHideEngineOn}
<td class="align-right nowrap"><strong class="large">{shop_currency_html($total, true)}</strong></td>
{/if}


в side.products.html

В самом начале пишем

{$isHideEngineOn = shopHidePluginViewHelper::isHideEngineOn()}

потом ищем

{if $p.compare_price > 0}
<span class="price price-new nowrap">{shop_currency_html($p.price)}</span>
<span class="compare-at-price nowrap"> {shop_currency_html($p.compare_price)}</span>
{else}
<span class="price nowrap">{shop_currency_html($p.price)}</span>
{/if}

меня ем на

{if $isHideEngineOn}
<span class="price nowrap">Цена договорная</span>
{else}
{if $p.compare_price > 0}
<span class="price price-new nowrap">{shop_currency_html($p.price)}</span>
<span class="compare-at-price nowrap"> {shop_currency_html($p.compare_price)}</span>
{else}
<span class="price nowrap">{shop_currency_html($p.price)}</span>
{/if}
{/if}


В приложении "Сайт"

в index.php

в самом начале

{if $wa->shop}
{$isHideEngineOn = shopHidePluginViewHelper::isHideEngineOn()}
{/if}

ищем

<div class="cart_total_wrap">[`total`] <span class="cart_total">{wa_currency_html($cart_total, $wa->shop->currency())}</span></div>

меняем на

{if !$isHideEngineOn}
<div class="cart_total_wrap">[`total`] <span class="cart_total">{wa_currency_html($cart_total, $wa->shop->currency())}</span></div>
{/if}

Ищем

<span class="cart_total hidden-sm hidden-xs">{wa_currency_html($cart_total, $wa->shop->currency())}</span>

меняем на

{if !$isHideEngineOn}
<span class="cart_total hidden-sm hidden-xs">{wa_currency_html($cart_total, $wa->shop->currency())}</span>
{/if}