Как сделать свои условия наличия для физического склада

Есть 2 склада, добавил еще 3‑й физический склад в магазин, задал ему условие через ($stock_id == 3 > 0) скрывать 1й 2й если в 3м есть наличие, и игнорировать 3‑й склад если в 1‑м или 2‑м складе есть налицие больше 0.

Вот такой вид:

{function name=in_stock n=0 low=5 critical=2}
  {if $n > $low or $n === null}
      <span class="stock-text">[`In stock`]</span>
  {elseif $n > $critical}
      <span class="stock-text">{* _w("Only %d left in stock", "Only %d left in stock", $n) *}{_w("Only a few items left")}</span>
  {elseif $n > 0}
      <span class="stock-text">{_w("Only %d left in stock", "Only %d left in stock", $n)}</span>
  {elseif $stock_id == 3 > 0}
      <span class="stock-text">на удаленном складе</span>     
  {elseif $stock_id == 3 < 0}
      <span class="stock-text">нет в наличии</span>      
  {else}
      <span class="stock-text">{if $wa->shop->settings('ignore_stock_count')}Наличие: под заказ. {shopDatePlugin::getText($product.id)}{else}[`Out of stock`]{/if}</span>
  {/if}
{/function}

Все работает:


Но проблема в том, если указать наличие "0" на всех складах, то все ровно пишется "На удаленном складе"

Не знаю что нужно поправить.

1 ответ

  • 1
    Axex Yexel 17 декабря 2020 19:22 #

    Вот так сделал, все работает, осталось придумать как правильно выводить наличие 3-го склада в категориях.

    {function name=in_stock n=0 low=5 critical=2}
      {if $n > $low or $n === null}
        <div class="stock-info stock-info--item-page stock-info--stock">
          <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-in-stock"></use></svg></span>
          <span class="stock-text">[`In stock`]</span>
        </div>
      {elseif $n > $critical}
        <div class="stock-info stock-info--item-page stock-info--less">
          <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-less-stock"></use></svg></span>
          <span class="stock-text">{* _w("Only %d left in stock", "Only %d left in stock", $n) *}{_w("Only a few items left")}</span>
        </div>
      {elseif $n > 0}
        <div class="stock-info stock-info--item-page stock-info--1">
          <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-1-stock"></use></svg></span>
          <span class="stock-text">{_w("Only %d left in stock", "Only %d left in stock", $n)}</span>
        </div>
      {elseif $stock_id == 3 > 0}
    	<div class="stock-info stock-info--item-page stock-info--stock">
    	    {if $wa->shop->settings('ignore_stock_count') && !($sku.count === null || $sku.count > 0)}
            <div class="stock-info stock-info--item-page stock-info--not">
                <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-not-stock"></use></svg></span>
                <span class="stock-text">{if $wa->shop->settings('ignore_stock_count')}Наличие: под заказ. {shopDatePlugin::getText($product.id)}{else}[`Out of stock`]{/if}</span>
            </div>
          {else}
            <div class="stock-info stock-info--item-page stock-info--stock remote-wrh">
                <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-in-stock"></use></svg></span>
                <span class="stock-text" style="margin-bottom: 5px;">В Наличии</span><br>
                <span style="font-size: 12px;">со склада (1-3 дня)</span>
            </div>
          {/if}
        </div>
      {else}
        <div class="stock-info stock-info--item-page stock-info--not">
          <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-not-stock"></use></svg></span>
          <span class="stock-text">{if $wa->shop->settings('ignore_stock_count')}Наличие: под заказ. {shopDatePlugin::getText($product.id)}{else}[`Out of stock`]{/if}</span>
        </div>
      {/if}
    {/function}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите