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

[Решено] Рекомендуемые не видит id товаров.

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

Добрый день, у меня дефолтный шаблон версии 2.3.0.2. На главной есть стандартная секция "рекомендуемые" (featured), при нажатии на любой из товаров переходит на страницу "Товар не найден". Оно и не мудрено, ведь переходит он на ссылку следующего вида: http://site.ru/index.php?route=product/product&product_id=

Ума не приложу в чём может быть проблема. Подскажите, пожалуйста.

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


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

Видимо не передается id - покажите контроллер

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


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

перезапишите просто catalog/controller/extension/module/featured.php думаю должно помочь.

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


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, spectre сказал:

Видимо не передается id - покажите контроллер

<?php
class ControllerExtensionModuleFeatured extends Controller {
	public function index($setting) {
		$this->load->language('extension/module/featured');

		$data['heading_title'] = $this->language->get('heading_title');

		$data['text_tax'] = $this->language->get('text_tax');

		$data['button_cart'] = $this->language->get('button_cart');
		$data['button_wishlist'] = $this->language->get('button_wishlist');
		$data['button_compare'] = $this->language->get('button_compare');

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

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

		$data['products'] = array();

		if (!$setting['limit']) {
			$setting['limit'] = 4;
		}

		if (!empty($setting['product'])) {
			$products = array_slice($setting['product'], 0, (int)$setting['limit']);

			foreach ($products as $product_id) {
				$product_info = $this->model_catalog_product->getProduct($product_id);

				if ($product_info) {
					if ($product_info['image']) {
						$image = $this->model_tool_image->resize($product_info['image'], $setting['width'], $setting['height']);
					} else {
						$image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']);
					}

					if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
						$price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
					} else {
						$price = false;
					}

					if ((float)$product_info['special']) {
						$special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
					} else {
						$special = false;
					}

					if ($this->config->get('config_tax')) {
						$tax = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price'], $this->session->data['currency']);
					} else {
						$tax = false;
					}

					if ($this->config->get('config_review_status')) {
						$rating = $product_info['rating'];
					} else {
						$rating = false;
					}

					$data['products'][] = array(
						'product_id'  => $product_info['product_id'],
						'thumb'       => $image,
						'name'        => $product_info['name'],
						'description' => utf8_substr(strip_tags(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
						'price'       => $price,
						'special'     => $special,
						'tax'         => $tax,
						'rating'      => $rating,
						'fastorder'     => $this->load->controller('product/fastorder', $product_info = $this->model_catalog_product->getProduct( isset($result['product_id']) ? $result['product_id'] :'' )), // FastOrder
						'href'        => $this->url->link('product/product', 'product_id=' . $product_info['product_id'])
					);
				}
			}
		}

		if ($data['products']) {
			return $this->load->view('extension/module/featured', $data);
		}
	}
}

 

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


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

вам быстрый заказ ломает все и перезаписывает product_info

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


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

Сверил его со стандартным - у меня там только одно изменение: 

добавление подключения модуля fastorder

'fastorder'     => $this->load->controller('product/fastorder', $product_info = $this->model_catalog_product->getProduct( isset($result['product_id']) ? $result['product_id'] :'' )), // FastOrder

 

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


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, spectre сказал:

вам быстрый заказ ломает все и перезаписывает product_info

 

Да, вижу. странно. модуль не страдает багами, а тема у меня дефолтная, по идее должен был встать как следует. Можно как-нибудь руками его починить?

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


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

Так, проблема решена. Я перепутал fastorder с другим модулем. От fastordera я вообще отказался. Я просто выпилил эту строку и, конечно, всё заработало.

Очередное спасибо @spectre !

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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