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

[Решено] Как добавить в sitemap товары


Recommended Posts

Здравствуйте, а не подскажите как сделать, чтобы в сайтмэп по адресу http: // www.мой-магазин . ru /index . php?route = information/sitemap присутствовали еще и ссылки на все товары. А то там выводятся только ссылки на категории((

Заранее большое спасибо.

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


да все, кому надо было, делали.

для Opencart_1491:

catalog/controller/information/sitemap.php
в функции

protected function getCategories($parent_id, $current_path = '') {
после

$output .= $this->getCategories($result['category_id'], $new_path);
добавить

$output .= $this->getProducts($result['category_id'], $new_path);

в конец файла добавить функцию

/* products to sitemap */
	protected function getProducts($cat_id, $current_path = '') {
		$output = '';
		
		$results = $this->model_catalog_category->w_getProducts($cat_id);
		
		if ($results) {
			$output .= '<ul class="products">';
		}
		
		$wProdID = "0";
		if (isset($this->request->get['product_id'])) {
			$wProdID = $this->request->get['product_id'];
		}
		
		foreach ($results as $result) {
			$output .= '<li>';
			
			if (($wProdID == $result['product_id']) && ($this->category_id == $cat_id)) {
				$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $current_path  . '&product_id='.$result['product_id']).'"><b>' . $result['name'] . '</b></a>';
			} else {
				$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $current_path  . '&product_id='.$result['product_id']).'">' . $result['name'] . '</a>';
			}
			
			$output .= '</li>';
		}
		
		if ($results) {
			$output .= '</ul>';
		}
		
		return $output;
	}
	/* products to sitemap */

catalog/model/catalog/category.php
после

public function getTotalCategoriesByCategoryId($parent_id = 0) {
		$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' AND c.sort_order <> '-1'");
		
		return $query->row['total'];
	}
добавить

	/* products to sitemap - start */
	public function w_getProducts($cat_id = 0) {
		$wProductData = $this->cache->get('product.wProductData.' . $cat_id . '.' . $this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'));
		if (!$wProductData) {
			$sql = "SELECT p.product_id, pd.name AS name 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 . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$cat_id . "'";
			
			$query = $this->db->query($sql);
			
			$wProductData = $query->rows;
			
			$this->cache->set('product.wProductData.' . $cat_id . '.' . $this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'), $wProductData);
		}
		
		return $wProductData;
	}
	/* products to sitemap - end */
  • +1 1
Надіслати
Поділитися на інших сайтах

  • 2 months later...

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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