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

[Решено] Где определяются переменные?

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

В общем пишу свой шаблон, но столкнулся с такой ошибкой:

 

<b>Notice</b>: Undefined variable: email in <b>/var/www/u0042551/data/www/unlock.webit-expert.com/catalog/view/theme/default/template/common/header.tpl</b> on line <b>97</b>

 

Брал из стандартного шаблона входа эту переменную. Почему она там определяется а тут нет?

 

Вот сам кусок кода:

 

http://pastebin.com/TyqkUVGm

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


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

В контроллере. 

$this->data['var'] = 'var';

Но если получать переменную с общих настроек, то нужно 

$this->data['var'] = $this->config->get('var');
Изменено пользователем timedontwait

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


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

Не понимаю, и что тут делается? Понимаете в документе 'login' при написании этих же строк. только те, что я скинул - нет ошибок. А в другом файле, где мне нужно их применять - выводит ошибку. Я не понял то, что вы написали.. видимо это не то, что мне нужно или я не знаю как применить это)

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


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

danya, вам постом выше разжевали все. Открывайте файлы движка и читайте код. Там все понятно. А если не понятно, то может не стоит начинать писать свой шаблон?

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


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

danya, вам постом выше разжевали все. Открывайте файлы движка и читайте код. Там все понятно. А если не понятно, то может не стоит начинать писать свой шаблон?

может не стоит отвечать на вопросы если вы не можете помочь?

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


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

Перечитайте еще раз самый первый ответ в этой ветке.

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


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

Прочитал, я не понял ничего из этого, мне нужно чтобы переменная была доступна в файле header.tpl, но как это сделать я не понял.

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


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

в opencart используется принцип MVC - в файлах model идет формирование данных, в файлах controller - их обработка, а view - непосредственно файлы шаблонов, вывод данных.

подробней - здесь, в разделе для разработчиков

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


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

в opencart используется принцип MVC - в файлах model идет формирование данных, в файлах controller - их обработка, а view - непосредственно файлы шаблонов, вывод данных.

подробней - здесь, в разделе для разработчиков

Спасибо, но все же вопрос мой не был решен, можете ли высказать прямо, что мне нужно сделать? У меня на сайте на главной страничке можно ввести логин пароль, чтобы войти в личный кабинет, поэтому нужны все от входа не только в файле .login, а и в других файлах, не понимаю как я могу это сделать  :(

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


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

в модели вашего другого файла (model/другой_файл) добавить получение всех данных от входа в login, в контроллере вашего другого файла (controller/другой_файл) добавить обработку этих данных, а в шаблоне вашего другого файла - добавить вывод этих данных

 

если прямо - вам нужно сначала понять структуру opencart, посмотреть как реализовано получение, обработка и вывод данных (на примере того же login)

 

у halfhope есть отличная серия статей для разработчиков, у sv2109 - отличное описание структуры

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


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

в модели вашего другого файла (model/другой_файл) добавить получение всех данных от входа в login, в контроллере вашего другого файла (controller/другой_файл) добавить обработку этих данных, а в шаблоне вашего другого файла - добавить вывод этих данных

 

если прямо - вам нужно сначала понять структуру opencart, посмотреть как реализовано получение, обработка и вывод данных (на примере того же login)

 

у halfhope есть отличная серия статей для разработчиков, у sv2109 - отличное описание структуры

Спасибо, буду пытаться.

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


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

Начал разбираться. Вопрос: причем тут папка model? 

 

В ней нет файла header, который мне нужен. Если создать, как я понимаю он не будет ничего понимать типо откуда этот файл итд.. это тоже где-то наверно прописывать нужно.

 

В контроллере по сути мне нужно добавить теже данные что и в login(controller)  и переделать некоторые пути к файлам.

 

Ну а вывод данных в tpl - это уже $email ну итд.. как я понимаю. 

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


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

хидер - он и в Африке хидер, в данном случае своей собственной модели у него нет - нагло пользуется чужими!! :-D

смотрите контроллер catalog\controller\common\header.php

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


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

Ну допустим добавил я туда сейчас все, что было в login controller.

 

Дальше что мне нужно сделать?

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


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

Ну допустим добавил я туда сейчас все, что было в login controller.

 

Дальше что мне нужно сделать?

 

1) все - не нужно, нужно лишь то, что нужно

 

2) понятия не имею :ugeek:

вы же нигде ни слова не написали, с какой целью пытаетесь запихнуть данные из login в header

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


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

Я понятия не имею как разработчики данного движка все запутали и куда мне сунуться, поэтому спрашиваю здесь.

 

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

 

Когда я начал делать это посмотрел как сделано в самом файле login.tpl и решил сделать также, вставил теже переменные и думал, что все будет работать, но нет, не работает. он выдает ошибку, что переменные не определены. И я не имею понятия где их мне определять. В самом файле login.tpl они не определяются. Поэтому я спрашиваю здесь, как я понял они определяются в контроллере login.php, но как мне это все перенести в мой файл header.tpl, чтобы они и там определялись.

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


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

написал же выше - контроллер для header находится в catalog\controller\common\header.php

 

без обид, но для написания/создания шаблона сначала нужно изучить движок - придет понимание что-где-как и вопросы отпадут сами собой

для начала попробуйте изучить код login, чтобы понять откуда какие берутся данные, как обрабатываются и выводятся

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


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

Спасибо, честно говоря это галиматья :( писал свой движок на php было проще в некоторых моментах)
 

Я сделал, то, что я хотел. Просто нужно было в контроллер header засовывать все вещи из login контроллера. Ну почти все...

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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