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

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

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

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

 

Не могу найти как в переменную 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 загружать?

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


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

На каком этапе вы принимаете решение, какой 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 пользователей онлайн

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

×

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

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