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

[Решено?..] Два представления корзины


Yumin

Recommended Posts

Здравствуйте форумчане, родилась проблемка. У меня адаптивный шаблон и необходимо подгружать разное представление корзины в версии для обычных мониторов и версии для мобильных устройств.

 

Не могу найти как в переменную cart забивается ее представление которое написано в  module/cart.tpl? Помогите кто знает.

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


`catalog/controller/common/header.php`, внизу:

		$this->children = array(
			... ,
			'module/cart'
		);
В `catalog/controller/module/cart.php` выбирается конкретный tpl:

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/cart.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/module/cart.tpl';
		} else {
			$this->template = 'default/template/module/cart.tpl';
		}
Надіслати
Поділитися на інших сайтах


`catalog/controller/common/header.php`, внизу:

 

		$this->children = array(
			... ,
			'module/cart'
		);
В `catalog/controller/module/cart.php` выбирается конкретный tpl:

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/cart.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/module/cart.tpl';
		} else {
			$this->template = 'default/template/module/cart.tpl';
		}
rb2, спасибо за оперативный ответ. Да, если сменить cart.tpl на другой представление переменной меняется, а могу ли я как-то сделать две переменных представления например cart и cart-mobile для корзины например одна подгружается из стандартного tpl а вторая из мною измененного? Одна для стандартных мониторов, вторая для мобильных устройств. Т.к. они у меня загружаются в разных местах в header.tpl.
Надіслати
Поділитися на інших сайтах


в таких ситуациях делают адаптивную верстку

 

Да, как раз у меня адаптивная верстка как раз и есть. В одном случае загружается стандартная корзина, во втором мне надо загрузить немного измененное представление корзины...это вот у меня как раз и не выходит. В теории я вижу это так: есть переменная cart со стандартным представлением, сделать другую переменную cart-mobile например в которую будет заводится другой представление корзины....но вот как это сделать дорубить не могу. Плиз хелп)

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


На каком этапе вы принимаете решение, какой view загружать?

 

rb2, ну тут нет именно принятия решения...в шаблоне(верстка при помощи bootstrap, есть два блока кода в шапке сайта, один отвечает за отображение корзины на обычном экране, второй за отображение на мобильных устройствах. Загружается весь код страницы сразу. Т.е в коде страницы уже есть вариант с обычной версией и мобильной, но силами bootstrap, при определенном размере экрана один вариант не показывается. Сейчас стоит вывод переменной cart в обоих случаях, но вот во втором(с мобильной версией он не подходит)

 

Я предполагаю, что можно создать еще одну переменную cart-mobile например, и забить туда представление из другого tpl. Возможен такой вариант?

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


Возможен такой вариант?

Ну выше же все точки расписаны.

`catalog/controller/common/header.php`, внизу:

		$this->children = array(
			... ,
			'module/cart',
			'module/cartmobile'
		);
Модуль `module/cart.php` и его tpl шаблон -- дублируете, получаете в итоге cartmobile.php и где-то-там-ещё - его .tpl. Про дублирование модулей уже писалось не раз. Главное не забудьте имя класса в самом начале файла отредактировать.

В дублированном `module/cartmobile.php` будете подключать свой `cartmobile.tpl`.

А в `common/header.tpl` должна будет стать доступна переменная $cartmobile.

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


Ну выше же все точки расписаны.

`catalog/controller/common/header.php`, внизу:

 

		$this->children = array(
			... ,
			'module/cart',
			'module/cartmobile'
		);
Модуль `module/cart.php` и его tpl шаблон -- дублируете, получаете в итоге cartmobile.php и где-то-там-ещё - его .tpl. Про дублирование модулей уже писалось не раз. Главное не забудьте имя класса в самом начале файла отредактировать.

В дублированном `module/cartmobile.php` будете подключать свой `cartmobile.tpl`.

А в `common/header.tpl` должна будет стать доступна переменная $cartmobile.

 

 

 

rb2, спасибо. Все получилось. Косяк был в том, что я в файлах для мобильной версии использовал "-" и движек их браковал при объявлении переменной с "-". Теперь осталось только яваскрипты прописать :(

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


Зачем все это делать, когда ваша задача решается через цсс путем скрытия лишних блоков? Гляньте в качестве примера, как это выглядит во 2-й версии ОС http://oc2.opencartdemo.com/index.php?route=product/product&product_id=40 ИМХО усложнять движок несколькими представлениями модуля корзины - не лучшее решение

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

Зачем все это делать, когда ваша задача решается через цсс путем скрытия лишних блоков? Гляньте в качестве примера, как это выглядит во 2-й версии ОС http://oc2.opencartdemo.com/index.php?route=product/product&product_id=40 ИМХО усложнять движок несколькими представлениями модуля корзины - не лучшее решение

RGB, посмотрел, там есть разница. У меня получается надо скрыть блок который содержит информацию, которую как раз надо вывести...вот.
 
А по поводу нескольких корзин...согласен не лучшее решение.
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

Important Information

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