Помощь Нужно скрыть товары из каталога - и сохранить прямые ссылки

Может прокатит
Если товара нет в наличии, то он не отображается в отображении сеткой/списком в категории. Решение не элегантное, при обновлении придётся повторять все действия.

Ограничения: Решение будет работоспособно только в случае стандартного вывода товаров категории(с помощью шаблона /template/product/category.tpl); При обновлении движка/темы решение перестанет работать. Внимание: создайте резервные копии изменяемых файлов, используйте нормальные текстовые редакторы, н-р notepad++.

  • в файле контроллера /catalog/controller/product/category.php
    • перед $data['products'][] = array(добавить

      if ($result['quantity']<=0) {
      $in_stock = false;
      } else {
      $in_stock = true;
      }

    • после 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] /*. $url*/),добавить 'in_stock' => $in_stock
  • в файле шаблона /catalog/view/theme/***/template/product/category.tmplгде ***- название вашего шаблона
    • после &lt;?php foreach ($products as $product) { ?&gt;добавить &lt;?php if($product['in_stock']){?&gt;
    • после закрытия &lt;?php foreach ($products as $product) { ?&gt;код отображения одной(каждой) карточки товара &lt;?php } ?&gt;добавить ещё одно &lt;?php } ?&gt;
    • Обязательно проверить что закрываются необходимые скобки. Открывающая скобка {,закрывающая }
 
в файле контроллера /catalog/controller/product/category.php
Для просмотра ссылки Войди или Зарегистрируйся - добавил

в файле шаблона /catalog/view/theme/***/template/product/category.tmplгде ***- название вашего шаблона
  • после ?php foreach ($products as $product) { ? добавить ?php if($product['in_stock']){?;
    Для просмотра ссылки Войди или Зарегистрируйся - вот так??
  • после закрытия ?php foreach ($products as $product) { ?; код отображения одной(каждой) карточки товара ?php } ?;добавить ещё одно ?php } ?;
    Это не понял как добавить.
Вот мой код:
Код:
<div itemtype="http://schema.org/ItemList" itemscope>
      <div itemprop="name" content='<?php echo $heading_title; ?>' class="row row-price category-page">
        <?php foreach ($products as $product) { ?>

           <!-- То что вставлено -->
          <?php if($product['in_stock']){ ?>

          <div class="product-layout product-grid <?php echo $cols_class;?>">
          <div itemtype="http://schema.org/Product" itemprop="itemListElement" itemscope class="product-thumb">
                <?php if($config_on_off_category_page_quickview =='1'){?>
                    <div class="quickview"><a class="btn btn-quickview" onclick="quickview_open(<?php echo $product['product_id']?>,'<?php echo isset($all_prod) ? $all_prod : 0;?>');"><i class="fa fa-external-link fa-fw"></i><?php echo $config_quickview_btn_name[$lang_id]['config_quickview_btn_name']; ?></a></div>
                <?php } ?>

После правок, стал ругаться:
Для просмотра ссылки Войди или Зарегистрируйся

Ошибка анализа : синтаксическая ошибка, неожиданный конец файла в /var/www/users/wizard/domains/XBOOK/system/storage/modification/catalog/view/theme/newstore/template/product/category.tpl в строке 626

Для просмотра ссылки Войди или Зарегистрируйся - хотя такой строки - там попросту нет ((
 
Последнее редактирование:
А есть может у кого для 1.5 решение ? как отключить все товары которых нет в наличии ?
 
Назад
Сверху