Скрытие только цен
Допустим мы хотим скрыть только цены, но хотим оставить функционал добавления в корзину и оформление заказа. В этом случае функционал из коробки не поможет. Придется пользоваться хелперами.
Приведу пример на популярной теме 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}