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

Ошибка постраничной навигации


georg

Recommended Posts

Приветствую обитателей форума!

Возникла такая проблема: мне потребовалось выводить товары как с учетом производителя (если он выбран), так и без учета оного(если нет).

Для реализации этого я создал в catalog/model/product 2 функции getProducts($filters, '', $_GET['manufacturer_id']) и getsProducts($filters) и делаю проверку в catalog/controller/product:

$product_total = $this->{'model_catalog_'.$this->name}->getProducts($filters, 'total', $_GET['manufacturer_id']);

$products_total = $this->{'model_catalog_'.$this->name}->getsProducts($filters);

if ($product_total && $_GET['manufacturer_id'] > 0) {

$this->data['products'] = array();

$results = $this->{'model_catalog_'.$this->name}->getProducts($filters, '', $_GET['manufacturer_id']);

$pagination = new Pagination();

$pagination->total = $product_total;

$pagination->page = $filters['page'];

....................................

} else {

$this->data['products'] = array();

$results = $this->{'model_catalog_'.$this->name}->getsProducts($filters);

$pagination = new Pagination();

$pagination->total = $products_total;

$pagination->page = $filters['page'];

..........................................................

}

При этом у меня возникает ошибка Fatal error: Unsupported operand types in /home/charskai/public_html/ops/system/library/pagination.php on line 32.

Функция getsProducts() - это переименованная getProducts() и я в ней ничего не менял, кроме одной буквы в названии.

Вопрос: где мне нужно прописать $products_total, чтобы страница отрабатывала нормально и чтобы на этой странице была постраничная навигация, как и на всех других.

Подскажите, пожалуйста. За день сломал уже себе голову, перепробовал всякие решения, но не сдвинулся с места пока. Надеюсь, что здесь мне помогут.

Мне нужно просто наводка, подсказка, куда копать - и я справлюсь.

Спасибо заранее.

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


Для реализации этого я создал в catalog/model/product 2 функции getProducts($filters, '', $_GET['manufacturer_id']) и getsProducts($filters) и делаю проверку в catalog/controller/product:

нифигасе изврат...

в файле catalog\controller\product\category.php ищеш две строки

$product_total = $this->model_catalog_product->getTotalProducts($data);
и перед каждой строкой добавляеш

if (!empty($this->request->get['manufacturer_id'])) {
	$data['filter_manufacturer_id'] = (int)$this->request->get['manufacturer_id'];
}
После этого url такого вида index.php?route=product/category&path=18&manufacturer_id=8 выведет список товаров категории с id=18 производитель которых id=8

Правиш формирование url и всё...

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

Можно ещё так сделать....

В начале функций getProducts и getTotalProducts файла catalogmodelcatalogproduct.php добавить

if (!isset($data['filter_manufacturer_id']) && isset($this->request->get['manufacturer_id'])) {
	$data['filter_manufacturer_id'] = $this->request->get['manufacturer_id'];
}
В этом варианте ты можеш в любом контроллере подправить формирование url и производитель будет учитываться...
Надіслати
Поділитися на інших сайтах

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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