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

Модуль рекомендуемые в другом месте

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

Здравствуйте. Подскажите как можно модуль рекомендуемые товары поместить в другое место?

Я знаю что в админке можно менять позиции. Но, я хотела что-бы я сама ставила в хидере или в футере. Не знаю что править и в каких файлах.

Может кто-то с этим сталкивался?

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


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

Если есть какие либо знания в PHP то это не составляет труда.

Я бы сделал так:

1. Данные из featured.php, функцию index почистил, переименовал бы и закинуля все это в контроллер хедера или футера, настроил бы вызов. :)

2. Подключил бы туда модуль с запросами.

3. Откорректировал бы языковой файл.

4. Далее шаблон.

Другой вариант (сложнее, не пробовал):

Попробовать организовать размещение модулей в местах отличных от левой и правой позиции.

П.С. Прошу прощения, что много и в общем то и без конкретики, это максимум что могу.

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


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

itra спасибо, вроде всё ясно, но не чего не понятно что делать))

А нельзя просто, каким то кодом в header.tpl вывести "рекомендуемые"?

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


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

А нельзя просто, каким то кодом в header.tpl вывести "рекомендуемые"?

Та я собственно все так и сказал.

Вариант номер 2: откорректировать шаблонизатор и добавить расположение в хедере.

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


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

Беглым взглядом оценил:

Вырвал из контроллера левой колонки:

$module_data = array();
		
		$this->load->model('checkout/extension');
		
		$results = $this->model_checkout_extension->getExtensions('module');

		foreach ($results as $result) {
			if ($this->config->get($result['key'] . '_status') && ($this->config->get($result['key'] . '_position') == 'left')) {
				$module_data[] = array(
					'code'       => $result['key'],
					'sort_order' => $this->config->get($result['key'] . '_sort_order')
				);
				
				$this->children[] = 'module/' . $result['key'];		
			}
		}

		$sort_order = array(); 
	  
		foreach ($module_data as $key => $value) {
      		$sort_order[$key] = $value['sort_order'];
    	}

    	array_multisort($sort_order, SORT_ASC, $module_data);			
		
		$this->data['modules'] = $module_data;
		
		$this->id = 'column_left';

Подключает модуль с запросами, потом выдергивает список модулей, отбирает все, у которых выбрана левая колонка, потом сортирует по позиции.

Затем выдергиваем из шаблона левой колонки:

  <?php foreach ($modules as $module) { ?>
  <?php echo ${$module['code']}; ?>
  <?php } ?>

Тут собственно все понятно, перебор.

Дальше я думаю труда не составляет:

Выносим из контроллера в отдельную функцию, в хереде ставим вызов. Незабываем позицию поменять например на "top".

В хедер вставляем код из шаблона колонки. Затем в базе данных меняем позицию рекомендуемых на "top" в таблице setting.

По идее все должно работать :)

П.С. Самому попробовать некогда, сессия, будь она неладная :)

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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