Перейти к содержанию
hotep

Как скрыть товары, которых нет в наличии

Рекомендуемые сообщения

Добрый день !

Стоит задача скрыть товары, которых "нет в наличии" во всех модулях и каталоге. А еще лучше - просто автоматически менять статус на отключено для товаров, которые кончились.

Кто нибудь делал ? Соображения есть ? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Способ оказался до дебильного простым (нашел на английском форуме):

Редактируем catalog/model/catalog/product.php

Ищем:

p.status = '1'

Меняем на:

p.status = '1' AND p.quantity > 0
  • +1 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

во всех строках нужно поменять?

p.status = '1' там встречается раз 10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, надо все вхождения заменить.

Но есть вот одно нехорошее следствие - скрытые товары пропадают из индекса поисковика. Теперь вот думаю, как сделать так, чтобы товары которых нет в наличии пропадали из всех модулей, но по прямой ссылке были доступны. И чтобы в карточке товара у них исчезла кнопка "добавить в корзину".

Есть у кого решение ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

собственно ап...

может сделать чтобы на странице каталога не отображаля товар с наличием 0? и в админке сделать выборку "только в наличии".

Тогда получится живая карточка товара, но без ссылки из каталога. Получится еще, что товар будет доступен из поиска, но от этого думаю только выгода.

В пхп профан, не осилю ) но тема живая, как осуществить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может как нибудь реализовать, чтоб товары, которых нет в наличии - перемещались в другую категорию?

Скажем категория - "товары которые закончились"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может как нибудь реализовать, чтоб товары, которых нет в наличии - перемещались в другую категорию?

Скажем категория - "товары которые закончились"

мне тоже интересна такая возможность, либо добавить кнопку "подать заявку" и прикрутить механизм отправки заявки на отсутствующий товар админу. Таким образом, товар закончился, появилась кнопка "подать заявку". Вероятно это проще реализовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь реализовал в итоге?

В идеале товар должен просто пропасть из каталога, но быть доступен по прежнему адресу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Остро необходимо скрыть товар с витрины, но сохранить живую ссылку из поисковика!

За благодарностью не заржавеет, плс поделитесь или ткните носом где править!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Редактируем catalog/model/catalog/product.php

p.status = '1'
Меняем на:

p.status = '1' AND p.quantity > 0

 

Если сделать это изменение во всех местах, то товар с наличием 0 становится недоступен даже по прямой ссылке. Я решил следующим образом:

дописал "AND p.quantity > 0" везде, кроме первого места в файле:

public function getProduct($product_id)
$query=

В этой переменной я оставил как было - "p.status = '1'". Во всех местах товары не отображаются, но по прямой ссылке доступен.

Проблема:

Если товар добавлен в рекомендуемые - он отображается, даже если его нет.

Исследование:

Выяснил, что модуль Рекомендуемые (catalog/controller/module/featured.php) не имеет своей собственной функции выбора продуктов, как остальные модули (Bestsellers (getBestSellerProducts), Latest (getLatestProducts), Special (getProductSpecials), Related (getProductRelated)).

Он пользуется общей функцией getProduct, в которой я не могу вписать "AND p.quantity > 0", потому что тогда товар недоступен по прямой ссылке.

 

Как быть? Может кто-нибудь накидать функцию для Featured?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сам спросил - сам ответил.

 

В файле catalog/model/catalog/product.php копируем всю функцию public function getProduct($product_id) и вставляем ее сразу ниже, изменив имя на 

public function getFeaturedProduct($product_id)

	public function getFeaturedProduct($product_id) {
		if ($this->customer->isLogged()) {
			$customer_group_id = $this->customer->getCustomerGroupId();
		} else {
			$customer_group_id = $this->config->get('config_customer_group_id');
		}	
				
		$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");
		
		if ($query->num_rows) {
			return array(
				'seo_title'        => $query->row['seo_title'],
				'seo_h1'           => $query->row['seo_h1'],
				'product_id'       => $query->row['product_id'],
				'name'             => $query->row['name'],
				'description'      => $query->row['description'],
				'meta_description' => $query->row['meta_description'],
				'meta_keyword'     => $query->row['meta_keyword'],
				'tag'              => $query->row['tag'],
				'model'            => $query->row['model'],
				'sku'              => $query->row['sku'],
				'upc'              => $query->row['upc'],
				'ean'              => $query->row['ean'],
				'jan'              => $query->row['jan'],
				'isbn'             => $query->row['isbn'],
				'mpn'              => $query->row['mpn'],
				'location'         => $query->row['location'],
				'quantity'         => $query->row['quantity'],
				'stock_status'     => $query->row['stock_status'],
				'image'            => $query->row['image'],
				'manufacturer_id'  => $query->row['manufacturer_id'],
				'manufacturer'     => $query->row['manufacturer'],
				'price'            => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),
				'special'          => $query->row['special'],
				'reward'           => $query->row['reward'],
				'points'           => $query->row['points'],
				'tax_class_id'     => $query->row['tax_class_id'],
				'date_available'   => $query->row['date_available'],
				'weight'           => $query->row['weight'],
				'weight_class_id'  => $query->row['weight_class_id'],
				'length'           => $query->row['length'],
				'width'            => $query->row['width'],
				'height'           => $query->row['height'],
				'length_class_id'  => $query->row['length_class_id'],
				'subtract'         => $query->row['subtract'],
				'rating'           => round($query->row['rating']),
				'reviews'          => $query->row['reviews'] ? $query->row['reviews'] : 0,
				'minimum'          => $query->row['minimum'],
				'sort_order'       => $query->row['sort_order'],
				'status'           => $query->row['status'],
				'date_added'       => $query->row['date_added'],
				'date_modified'    => $query->row['date_modified'],
				'viewed'           => $query->row['viewed']
			);
		} else {
			return false;
		}
	}

Затем в файле catalog/controller/module/featured.php на строке 34 меняем

$product_info = $this->model_catalog_product->getProduct($product_id)

на

$product_info = $this->model_catalog_product->getFeaturedProduct($product_id)

Теперь у Рекомендуемых своя функция и мы можем решать, отображать ли в ней товары с остатком 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сам спросил - сам ответил.

 

В файле catalog/model/catalog/product.php копируем всю функцию public function getProduct($product_id) и вставляем ее сразу ниже, изменив имя на 

public function getFeaturedProduct($product_id)

	public function getFeaturedProduct($product_id) {
		if ($this->customer->isLogged()) {
			$customer_group_id = $this->customer->getCustomerGroupId();
		} else {
			$customer_group_id = $this->config->get('config_customer_group_id');
		}	
				
		$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");
		
		if ($query->num_rows) {
			return array(
				'seo_title'        => $query->row['seo_title'],
				'seo_h1'           => $query->row['seo_h1'],
				'product_id'       => $query->row['product_id'],
				'name'             => $query->row['name'],
				'description'      => $query->row['description'],
				'meta_description' => $query->row['meta_description'],
				'meta_keyword'     => $query->row['meta_keyword'],
				'tag'              => $query->row['tag'],
				'model'            => $query->row['model'],
				'sku'              => $query->row['sku'],
				'upc'              => $query->row['upc'],
				'ean'              => $query->row['ean'],
				'jan'              => $query->row['jan'],
				'isbn'             => $query->row['isbn'],
				'mpn'              => $query->row['mpn'],
				'location'         => $query->row['location'],
				'quantity'         => $query->row['quantity'],
				'stock_status'     => $query->row['stock_status'],
				'image'            => $query->row['image'],
				'manufacturer_id'  => $query->row['manufacturer_id'],
				'manufacturer'     => $query->row['manufacturer'],
				'price'            => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),
				'special'          => $query->row['special'],
				'reward'           => $query->row['reward'],
				'points'           => $query->row['points'],
				'tax_class_id'     => $query->row['tax_class_id'],
				'date_available'   => $query->row['date_available'],
				'weight'           => $query->row['weight'],
				'weight_class_id'  => $query->row['weight_class_id'],
				'length'           => $query->row['length'],
				'width'            => $query->row['width'],
				'height'           => $query->row['height'],
				'length_class_id'  => $query->row['length_class_id'],
				'subtract'         => $query->row['subtract'],
				'rating'           => round($query->row['rating']),
				'reviews'          => $query->row['reviews'] ? $query->row['reviews'] : 0,
				'minimum'          => $query->row['minimum'],
				'sort_order'       => $query->row['sort_order'],
				'status'           => $query->row['status'],
				'date_added'       => $query->row['date_added'],
				'date_modified'    => $query->row['date_modified'],
				'viewed'           => $query->row['viewed']
			);
		} else {
			return false;
		}
	}

Затем в файле catalog/controller/module/featured.php на строке 34 меняем

$product_info = $this->model_catalog_product->getProduct($product_id)

на

$product_info = $this->model_catalog_product->getFeaturedProduct($product_id)

Теперь у Рекомендуемых своя функция и мы можем решать, отображать ли в ней товары с остатком 0.

 

Ты забыл написать что в функции public function getFeaturedProduct($product_id)

после копирования

 

p.status = '1'

Меняем на:

p.status = '1' AND p.quantity > 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ты забыл написать что в функции public function getFeaturedProduct($product_id)

после копирования

 

p.status = '1'

Меняем на:

p.status = '1' AND p.quantity > 0

Положим, ты прошел тест на внимательность :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем же все так усложнять? Речь ведь идет о простом отображении/сокрытии. Этим занимается tpl, в данном случае category.tpl. Достаточно подправить только его, поскольку свойство 

$product['quantity'] 

уже доступно.

 

Вот как можно скрыть кнопку "Купить" и другие элементы товара со стоимостью 0 (самоцитата из соседнего топика)

  <div class="product-list">
    <?php foreach ($products as $product) { ?>
    <div>
      <?php if ($product['thumb']) { ?>
      <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
      <?php } ?>
      <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
      <div class="description"><?php echo $product['description']; ?></div>
      <?php if ($product['price'] && $product['price'] > 0) { ?>
      <div class="price">
        <?php if (!$product['special']) { ?>
        <?php echo $product['price']; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
        <?php } ?>
        <?php if ($product['tax']) { ?>
        <br />
        <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
        <?php } ?>
      </div>
      <?php } ?>
      <?php if ($product['rating']) { ?>
      <div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>
      <?php } ?>


      <div class="cart">
        <?php if ($product['price'] > 0) { ?>
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
<?php } ?>
      </div>


      <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div>


      <div class="compare">
        <?php if ($product['price'] > 0) { ?>
 <a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a>
<?php } ?>
 </div>


 </div>
    <?php } ?>
  </div>

Чтобы отобразить товары с quantity>0 (скрыть с quantity=0) пропишите условие в соответствующем месте (не забудьте про закрывающий php-тег). Вот и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если сделать это изменение во всех местах, то товар с наличием 0 становится недоступен даже по прямой ссылке. Я решил следующим образом:

дописал "AND p.quantity > 0" везде, кроме первого места в файле:

public function getProduct($product_id)
$query=

В этой переменной я оставил как было - "p.status = '1'". Во всех местах товары не отображаются, но по прямой ссылке доступен.

Проблема:

Если товар добавлен в рекомендуемые - он отображается, даже если его нет.

Исследование:

Выяснил, что модуль Рекомендуемые (catalog/controller/module/featured.php) не имеет своей собственной функции выбора продуктов, как остальные модули (Bestsellers (getBestSellerProducts), Latest (getLatestProducts), Special (getProductSpecials), Related (getProductRelated)).

Он пользуется общей функцией getProduct, в которой я не могу вписать "AND p.quantity > 0", потому что тогда товар недоступен по прямой ссылке.

 

Как быть? Может кто-нибудь накидать функцию для Featured?

Спасибо! Отличное решение, добряче помог!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подниму тему. Может кто сталкивался,  что делать, если некоторый товар должен быть со статусом "под заказ", а остальной скрываться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ты забыл написать что в функции public function getFeaturedProduct($product_id)

после копирования

 

p.status = '1'

Меняем на:

p.status = '1' AND p.quantity > 0

 

Спасибо, Помогло. выложу готовый пример. Что б не путаться .Для модуля Рекомендуемые. Выводит только те товары что в наличии. 

	/* */ 
			public function getFeaturedProduct($product_id) {
		if ($this->customer->isLogged()) {
			$customer_group_id = $this->customer->getCustomerGroupId();
		} else {
			$customer_group_id = $this->config->get('config_customer_group_id');
		}	
				
		$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.quantity > 0 AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");
		
		if ($query->num_rows) {
			return array(
				'seo_title'        => $query->row['seo_title'],
				'seo_h1'           => $query->row['seo_h1'],
				'product_id'       => $query->row['product_id'],
				'name'             => $query->row['name'],
				'description'      => $query->row['description'],
				'meta_description' => $query->row['meta_description'],
				'meta_keyword'     => $query->row['meta_keyword'],
				'tag'              => $query->row['tag'],
				'model'            => $query->row['model'],
				'sku'              => $query->row['sku'],
				'upc'              => $query->row['upc'],
				'ean'              => $query->row['ean'],
				'jan'              => $query->row['jan'],
				'isbn'             => $query->row['isbn'],
				'mpn'              => $query->row['mpn'],
				'location'         => $query->row['location'],
				'quantity'         => $query->row['quantity'],
				'stock_status'     => $query->row['stock_status'],
				'image'            => $query->row['image'],
				'manufacturer_id'  => $query->row['manufacturer_id'],
				'manufacturer'     => $query->row['manufacturer'],
				'price'            => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),
				'special'          => $query->row['special'],
				'reward'           => $query->row['reward'],
				'points'           => $query->row['points'],
				'tax_class_id'     => $query->row['tax_class_id'],
				'date_available'   => $query->row['date_available'],
				'weight'           => $query->row['weight'],
				'weight_class_id'  => $query->row['weight_class_id'],
				'length'           => $query->row['length'],
				'width'            => $query->row['width'],
				'height'           => $query->row['height'],
				'length_class_id'  => $query->row['length_class_id'],
				'subtract'         => $query->row['subtract'],
				'rating'           => round($query->row['rating']),
				'reviews'          => $query->row['reviews'] ? $query->row['reviews'] : 0,
				'minimum'          => $query->row['minimum'],
				'sort_order'       => $query->row['sort_order'],
				'status'           => $query->row['status'],
				'date_added'       => $query->row['date_added'],
				'date_modified'    => $query->row['date_modified'],
				'viewed'           => $query->row['viewed']
			);
		} else {
			return false;
		}
	}
	
	/* */

пусть будет 

Изменено пользователем igorfelix

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

Перешел на ocStore 2.1.0.2 и теперь данный способ не работает, а очень хотелось бы.

Подскажите, кто-нибудь реализовал то же самое на на версии 2.1.0.2 ?

Спасибо.

 

UPD: Вопрос снят, мой косяк из-за невнимательности.

Изменено пользователем Evgenka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господа, у меня также скрыты товары из категорий все что не в наличии и заметил что многих или части из них нет в индексе.

Может ну его и надо наоборот все таки выкладывать товары на сайт чтобы по ним шел трафик..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребята, все привет!

А как скрыть просто товары из выбранных категорий из показа в поиске сайта ?

При этом не ломая номенклатуры. И, способ просто закрыть категорию в админке-закрыл, все равно товары выдаются через поиск и блок "Новые поступления".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

А как скрыть просто товары из выбранных категорий из показа в поиске сайта

у меня какой​-то косяк вылез - товары с количеством 0 не выводятся в поиске(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал все как написано, но товары остались открытыми для пользователей :(
Что я делаю не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно, не в том месте или файле редактмруете

Изменено пользователем Slavikovna

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно, не в том месте или файле редактмруете

model/catalog/product.php

поменял во всех местах, кроме первого

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.