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

Вывести модуль в home.tpl в обход админки


Recommended Posts

Добрый вечер. Имеется странный вопрос :) Как вывести модуль рекомендуемые напрямую в .tpl, при этом не трогая в админке дизайн - макет. Это необходимо сделать, чтобы выводить модули через табы. Версия OC 2.3.0.2

Пробовал сделать следующим образом: объявил в контроллере home.php такие переменные

 

$data['featured'] = $this->load->controller('extension/module/featured');
$data['popular'] = $this->load->controller('extension/module/popular');

 

Это 2 одинаковых модуля "рекомендуемые", которые выводят разные товары. 

В home.tpl я прописал

 

<?php echo $featured; ?>
<?php echo $popular; ?>

 

Но реакции - ноль! 

Куда копать, чтобы эти модули начали работать?

Змінено користувачем egorcevDesign
Надіслати
Поділитися на інших сайтах


7 минут назад, chukcha сказал:

Но вы забыли предать туда setting от модуля

Не подскажите, как это сделать? Вставлять кусок setting целиком я попробовал, но результата это не дало. 

Змінено користувачем egorcevDesign
Надіслати
Поділитися на інших сайтах


Цитата

Имеется странный вопрос ....... выводить модули через табы

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

  • +1 2
Надіслати
Поділитися на інших сайтах

1 час назад, Tom сказал:

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

Том, вот смотри на скрин. Необходимо запилить, чтобы эти два модуля на главной переключались через табы. Видел, что есть готовые модули, но ни одного не нашел под мою версию OC

Безимени-1.png

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


9 часов назад, chukcha сказал:

посмотрите как  в column_left, например получат настройки модуля

Я так понял настройки он получает через вот этот кусок

 

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

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

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

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

			if (isset($part[0]) && $this->config->get($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_extension_module->getModule($part[1]);

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

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


Но пока что не понимаю, как его переделать под home.php :)

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


2 минуты назад, Matvei сказал:

так если нету под вашу версию скачайте и адаптируйте!
или же создайте свой, обьеденив 2 модуля акции и хиты продаж в 1 и назвав к примеру tabs

Я пробовал сделать и так, но пока что ничего хорошего из этого у меня не вышло) В чем различия модулей 2.0 и 2.3 версий?

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


4 часа назад, egorcevDesign сказал:

Я так понял настройки он получает через вот этот кусок

Возьмите какой-нибудь мод - extraposition

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

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

9 часов назад, Tom сказал:

Модуль крутой, то что надо. Но как сделать второе поле в админке?

В .tpl файле используется jQuery скрипт для добавления товаров в это поле. 

 

$('input[name=\'product\']').autocomplete({
  source: function(request, response) {
    $.ajax({
      url: 'index.php?route=catalog/product/autocomplete&token=<?php echo $token; ?>&filter_name=' +  encodeURIComponent(request),
      dataType: 'json',
      success: function(json) {
        response($.map(json, function(item) {
          return {
            label: item['name'],
            value: item['product_id']
          }
        }));
      }
    });
  },
  select: function(item) {
    $('input[name=\'product\']').val('');
    
    $('#featured-product' + item['value']).remove();
    
    $('#featured-product').append('<div id="featured-product' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product[]" value="' + item['value'] + '" /></div>');  
  }
});
  
$('#featured-product').delegate('.fa-minus-circle', 'click', function() {
  $(this).parent().remove();
});

Как его переписать, чтобы товар добавлялся во второе поле. И нужно ли править контроллер? Уже запутался) Простите новичка)

модуль.jpg

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


Что за странные хиты и акции.Начнём с того что в Акции попадает товар у которого эта самая Акция назначена (Каталог-Товар вкладка Акции).

В хиты продаж попадают те товары что были проданы.

В новинки ,те что были добавлены последними.

И только в рекомендуемых есть поле автокоплита,что бы самому выбрать товар.

А на скрине какой то гибрид зебры и танка....

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

6 часов назад, Tom сказал:

Что за странные хиты и акции.Начнём с того что в Акции попадает товар у которого эта самая Акция назначена (Каталог-Товар вкладка Акции).

В хиты продаж попадают те товары что были проданы.

В новинки ,те что были добавлены последними.

И только в рекомендуемых есть поле автокоплита,что бы самому выбрать товар.

А на скрине какой то гибрид зебры и танка....

Клиент сам хочет забивать позиции в хиты и акции. И для этого мне нужен вот такой гибрид) Акции - это я переименовал рекомендуемые, а хиты - это поле которое нужно допилить.

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


  • 2 months later...

И все таки, как вывести модуль featured в header/home? )

Хочу запихнуть в менюшку, добавлять на все странички доп. позицию для модулей лениво, двигать скриптами на фронте тоже не охота :)

Latest отлично выводится, просто закинув в массив контроллера настройки лимит и размеров фото, но рекомендуемым нужно наверное как-то указать какой именно модуль выводить, простое <?php echo $featured[28]; ?> не помогло.  (28 - id модуля, 0-1 тоже пробовал).

Подскажите можно ли напрямую как-то обратится к settings, что бы вывести этот модуль

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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