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

klishinoleg

Новачок
  
  • Публікації

    2
  • З нами

  • Відвідування

klishinoleg's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

0

Репутація

  1. Я первый раз работаю с OpenCart. Решил дубли товаров вот таким вот образом: 1. /catalog/controller/startup/seo_url.php добавил $this->load->model('catalog/product'); (чтобы в регистре всегда была модель товара) public function index() { // Add rewrite to url class if ($this->config->get('config_seo_url')) { $this->url->addRewrite($this); } $this->load->model('catalog/product'); // Decode URL ..... } 2. /system/library/url.php добавил вот эту часть: if ($route === 'product/product') {....} public function link($route, $args = '', $secure = false) { if ($route === 'product/product') { $oc = $this->rewrite[0]; preg_match("/product_id=(\d*)/", $args, $result); $product_id = (int)$result[1]; $categories = $oc->model_catalog_product->getCategories($product_id); $path = implode("_", array_column($categories, 'category_id')); $args = "path={$path}&product_id={$product_id}"; } if ($this->ssl && $secure) { $url = $this->ssl . 'index.php?route=' . $route; } else { $url = $this->url . 'index.php?route=' . $route; } if ($args) { if (is_array($args)) { $url .= '&' . http_build_query($args); } else { $url .= str_replace('&', '&', '&' . ltrim($args, '&')); } } foreach ($this->rewrite as $rewrite) { $url = $rewrite->rewrite($url); } return $url; } Насколько это правильно/не правильно с точки зрения OpenCart? Теперь все ссылки на товары одинаковые из всех рубрик. Механизм определения последней рубрики можно конечно доработать, но в моем случае норм. работает.

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

Important Information

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