Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Включить отображение скрытых товаров в sitemap


gts

Recommended Posts

Привет. После правок в catalog/model/catalog/product.php убрал с витрины товары, которых нет в наличии (т.е товар включен и количество -1). Они остались доступными только по по прямой ссылке. Вопрос в том, что этих скрытых товаров нет в sitemap. Хотел бы, чтобы в sitemap на такие товары также отображалась ссылка для поисковиков. Как это сделать? 

Змінено користувачем gts
Надіслати
Поділитися на інших сайтах


предположим, речь про стандартный модуль формирования карты сайта Google Sitemap. Если взглянуть в его контроллер (под спойлером), то список товаров получается стандартными методом model_catalog_product->getProducts(). Редактировать его - плохая идея, так как он овер дофига где используется и это 100% выйдет боком.

Spoiler

			$this->load->model('catalog/product');
			$this->load->model('tool/image');

			$products = $this->model_catalog_product->getProducts();

			foreach ($products as $product) {
				if ($product['image']) {
					$output .= '<url>';
					$output .= '<loc>' . $this->url->link('product/product', 'product_id=' . $product['product_id']) . '</loc>';
					$output .= '<changefreq>weekly</changefreq>';
					$output .= '<lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_modified'])) . '</lastmod>';
					$output .= '<priority>1.0</priority>';
					$output .= '<image:image>';
					$output .= '<image:loc>' . $this->model_tool_image->resize($product['image'], $this->config->get($this->config->get('config_theme') . '_image_popup_width'), $this->config->get($this->config->get('config_theme') . '_image_popup_height')) . '</image:loc>';
					$output .= '<image:caption>' . $product['name'] . '</image:caption>';
					$output .= '<image:title>' . $product['name'] . '</image:title>';
					$output .= '</image:image>';
					$output .= '</url>';
				}
			}

 

что я предлагаю? Я предлагаю скопировать функцию getProducts из файла /catalog/model/catalog/product.php внутрь файла контролера Google Sitemap, модифицировать и локально. Что модифицировать? Условия выборки товаров из БД.

Ищите эту строчку. То что выделил красным - убрать.

 

$sql .= " 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) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";

 

Должно все получится. Enjoy!

 

Надіслати
Поділитися на інших сайтах

Передавать в метод getProducts какой- то параметр и в зависимости от него модифицировать запрос - показывать или нет скрытые товары

По аналогии, например, с filter_name

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.