Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


Saker
 Поделиться

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

Нужно вывести модуль только на первой странице пагинации всех категорий. Код вставляю в catalog/controller/common/content_top.php (схема модуля добавлена в вверх страницы)

 

 

 

Применяю вот такую схему:

 

if ($output) {
	if ($route == 'product/category' && $this->request->get['page'] == 1 && $part[1] == 33) {
		$data['modules'][] = $output;

	} elseif ($route == 'product/category' && $part[1] == 33) {
		$data['modules'][] = "";
	// Стандартный вывод контента позиции 
	} else {
		$data['modules'][] = $output;
	}
}

 

$part[1] == 33    - это айди модуля. Буду благодарен за исправление)

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


$data['modules'][] = "";

Это вообще убрать надо. Фактически тут 3 условия в одно объединить, по нормальному. Очистить кэш также

Изменено пользователем LTRay
Ссылка на комментарий
Поделиться на других сайтах


11 минут назад, LTRay сказал:

Вставляете после чего? Нужно смотреть весь код. Ну и я в этом фрагменте не вижу isset

 

В файле catalog/controller/common/content_top.php заменяю вот эту часть кода:

 

if ($output) {
	$data['modules'][] = $output;
}

 

на 

 

if ($output) {
	if ($route == 'product/category' && $this->request->get['page'] == 1 && $part[1] == 33) {
		$data['modules'][] = $output;

	} elseif ($route == 'product/category' && $part[1] == 33) {
		$data['modules'][] = "";
	// Стандартный вывод контента позиции 
	} else {
		$data['modules'][] = $output;
	}
}

 

6 минут назад, LTRay сказал:

$data['modules'][] = "";

Фактически тут 3 условия в одно объединить, по нормальному. Очистить кэш также

 

К сожалению, в программирование никак

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


Код файла content_top.php

 

Спойлер

<?php
class ControllerCommonContentTop extends Controller {
	public function index() {
		$this->load->model('design/layout');

		if (isset($this->request->get['route'])) {
			$route = (string)$this->request->get['route'];
		} else {
			$route = 'common/home';
		}

		$layout_id = 0;

		if ($route == 'product/category' && isset($this->request->get['path'])) {
			$this->load->model('catalog/category');

			$path = explode('_', (string)$this->request->get['path']);

			$layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path));
		}

		if ($route == 'product/product' && isset($this->request->get['product_id'])) {
			$this->load->model('catalog/product');

			$layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
		}

		if ($route == 'information/information' && isset($this->request->get['information_id'])) {
			$this->load->model('catalog/information');

			$layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']);
		}

		if (!$layout_id) {
			$layout_id = $this->model_design_layout->getLayout($route);
		}

		if (!$layout_id) {
			$layout_id = $this->config->get('config_layout_id');
		}

		$this->load->model('setting/module');

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

		$modules = $this->model_design_layout->getLayoutModules($layout_id, 'content_top');

		foreach ($modules as $module) {
			$part = explode('.', $module['code']);

			if (isset($part[0]) && $this->config->get('module_' . $part[0] . '_status')) {
				$module_data = $this->load->controller('extension/module/' . $part[0]);

				if ($module_data) {
					$data['modules'][] = $module_data;
				}
			}

			if (isset($part[1])) {
				$setting_info = $this->model_setting_module->getModule($part[1]);

				if ($setting_info && $setting_info['status']) {
					$output = $this->load->controller('extension/module/' . $part[0], $setting_info);


if ($output) {
	if ($route == 'product/category' && $this->request->get['page'] == 1 && $part[1] == 33) {
		$data['modules'][] = $output;
	} elseif ($route == 'product/category' && $part[1] == 33) {
		$data['modules'][] = "";
	// Стандартный вывод контента позиции 
	} else {
		$data['modules'][] = $output;
	}
}
				}
			}
		}

		return $this->load->view('common/content_top', $data);
	}
}

 

 

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


if ($output) {
	if ($route == 'product/category' && isset($this->request->get['page']) && $this->request->get['page'] != 1 && $part[1] == 33) {
		break;
	}
	
	$data['modules'][] = $output;
}

Как то так

Изменено пользователем LTRay
Ссылка на комментарий
Поделиться на других сайтах


19 минут назад, LTRay сказал:

if ($output) {
	if ($route != 'product/category' || !isset($this->request->get['page']) || $this->request->get['page'] != 1 || $part[1] != 33) {
		$data['modules'][] = $output;
	}
}

Как то так

 

Спасибо!) Схема сработала, но к сожалению, только частично.

 

Получается, если перейти по странице index.php?route=product/category&path=3257&page=1 модуль не отображается. Когда переходишь на страницу index.php?route=product/category&path=3257&page=2 модуль отображается.

 

Если перейти вот так /index.php?route=product/category&path=3257 (без употребления page) - модуль тоже есть

 

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


Сложно тут чтото сказать точно. Я в слепую код писал, ещё и исправлял 2 раза. Надо смотреть конкретно на сайте

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


Только что, LTRay сказал:

Сложно тут чтото сказать точно. Я в слепую код писал, ещё и исправлял 2 раза. Надо смотреть конкретно на сайте

 

Уже исправил! Большое вам спасибо за помощь! Получается я применил get['page'] >2 и все заработало как надо)

 

Еще раз спасибо, выручили!

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


9 minutes ago, Saker said:

 

Спасибо!) Схема сработала, но к сожалению, только частично.

 

Получается, если перейти по странице index.php?route=product/category&path=3257&page=1 модуль не отображается. Когда переходишь на страницу index.php?route=product/category&path=3257&page=2 модуль отображается.

 

Если перейти вот так /index.php?route=product/category&path=3257 (без употребления page) - модуль тоже есть

 

Те тут код не верный. Нужна та что с break

Изменено пользователем LTRay
Ссылка на комментарий
Поделиться на других сайтах


6 минут назад, LTRay сказал:

А блин, Вы проверьте конечную версию. Пост исправлен

 

Попробовал ваш исправленный код, все сработало четко! На вашем последнем варианте и остановлюсь) 

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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