Автор Тема: Как скрыть товар которого нет в наличии  (Прочитано 177 раз)

15 Апрель 2020, 18:55:10
  • Фрилансер
  • *
  • Сообщений: 142
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день, подскажите как скрыть товар которого нет в наличии prestashop 1.6. 
Или направьте на нужную тему, помойму я когда-то находил такую тему но сейчас не могу найти(
16 Апрель 2020, 11:18:11
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1481
  • Репутация: +26/-1
  • Сообщество PrestaShop
    • Просмотр профиля
16 Апрель 2020, 13:36:46
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 142
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
https://prestashop-forum.ru/index.php/topic,9586.msg61045.html
{if $product->quantity != 0} style="display: none;"{/if} Для ps 1.6 вот так, правильно? чет не работает
16 Апрель 2020, 13:40:46
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 86622
  • Репутация: +25422/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В начале шаблона вы добавляете проверку. Для списка товаров в product-list.tpl в цикл вывода товаров
{foreach from=$products item=product name=products}
    {if $product.quantity > 0}
        // вывод товара
16 Апрель 2020, 14:42:23
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 142
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В начале шаблона вы добавляете проверку. Для списка товаров в product-list.tpl в цикл вывода товаров
{foreach from=$products item=product name=products}
    {if $product.quantity > 0}
        // вывод товара
{if isset($products) && $products}
  {*define number of products per line in other page for desktop*}
  {if $page_name !='category'}
    {if ($hide_left_column || $hide_right_column) && ($hide_left_column !='true' || $hide_right_column !='true')}   {* left or right column *}
      {assign var='nbItemsPerLine' value=3}
      {assign var='nbItemsPerLineTablet' value=2}
      {assign var='nbItemsPerLineMobile' value=2}
    {elseif ($hide_left_column && $hide_right_column) && ($hide_left_column =='true' && $hide_right_column =='true')} {* no columns *}
      {assign var='nbItemsPerLine' value=4}
      {assign var='nbItemsPerLineTablet' value=3}
      {assign var='nbItemsPerLineMobile' value=2}
    {else}                                                        {* left and right column *}
      {assign var='nbItemsPerLine' value=2}
      {assign var='nbItemsPerLineTablet' value=1}
      {assign var='nbItemsPerLineMobile' value=2}
    {/if}
  {else}                                                          {* category page *}
    {assign var='nbItemsPerLine' value=3}
    {assign var='nbItemsPerLineTablet' value=2}
    {assign var='nbItemsPerLineMobile' value=2}
  {/if}
  {*define numbers of product per line in other page for tablet*}

  {assign var='nbLi' value=$products|@count}
  {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines}
  {math equation="nbLi/nbItemsPerLineTablet" nbLi=$nbLi nbItemsPerLineTablet=$nbItemsPerLineTablet assign=nbLinesTablet}

  <!-- Products list -->
  <ul{if isset($id) && $id} id="{$id}"{/if} class="product_list grid row{if isset($class) && $class} {$class}{/if}">
    {foreach from=$products item=product name=products}
{if $product.quantity > 0}      <!-- ТУТ ДОБАВИЛ -->
      {math equation="(total%perLine)" total=$smarty.foreach.products.total perLine=$nbItemsPerLine assign=totModulo}
      {math equation="(total%perLineT)" total=$smarty.foreach.products.total perLineT=$nbItemsPerLineTablet assign=totModuloTablet}
      {math equation="(total%perLineM)" total=$smarty.foreach.products.total perLineM=$nbItemsPerLineMobile assign=totModuloMobile}
      {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if}
      {if $totModuloTablet == 0}{assign var='totModuloTablet' value=$nbItemsPerLineTablet}{/if}
      {if $totModuloMobile == 0}{assign var='totModuloMobile' value=$nbItemsPerLineMobile}{/if}
      <li class="ajax_block_product col-xs-6 col-sm-{12/$nbItemsPerLineTablet} col-md-{12/$nbItemsPerLine}{if $smarty.foreach.products.iteration%$nbItemsPerLine == 0} last-in-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLine == 1} first-in-line{/if}{if $smarty.foreach.products.iteration > ($smarty.foreach.products.total - $totModulo)} last-line{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLineTablet == 0} last-item-of-tablet-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLineTablet == 1} first-item-of-tablet-line{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLineMobile == 0} last-item-of-mobile-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLineMobile == 1} first-item-of-mobile-line{/if}{if $smarty.foreach.products.iteration > ($smarty.foreach.products.total - $totModuloMobile)} last-mobile-line{/if}">

Я что-то не правильно сделал? - вставил {if $product.quantity > 0} на 31 строке и появляется ошибка 500
16 Апрель 2020, 14:56:55
Ответ #5
  • Пользователь
  • **
  • Сообщений: 80
  • Репутация: +1/-0
  • Программист PrestaShop
    • Просмотр профиля
skype: prestashopov
telegram: prestashopov
16 Апрель 2020, 17:06:36
Ответ #6
  • Фрилансер
  • *
  • Сообщений: 142
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо всем! if закрыл и всё работает))