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

[Решено] Как получить данные в функции контроллера?

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

Есть такой стандартный способ оплаты /catalog/controller/payment/bank_transfer.php , есть quickcheckout и есть geoip. Цель вытащить строку из geoip и засунуть еe в комментарий, который лепится в функции confirm контроллера bank_transfer.php. Я не могу понять почему я могу спокойно добавить эту строку в tpl

$geoip = $this->registry->get('geoip');
		$data['geoip_address'] = $geoip->getRule('address', 'Филиал не выбран!');

а в confirm

$comment .= "\n\nТовар можно забрать по адресу: " . $data['geoip_address'];

я получаю пустую строку после двоеточия... 
Где я туплю?

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


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

ниче не понял.

$geoip_address ?

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


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

ниче не понял.

$geoip_address ?

Да. Эту строку мы создаем в самом модуле geoip. Это разные адреса магазинов. Я могу без проблем ее вывести в tpl, внутри функции index  контроллера тоже активна. Но в функции confirm ничего не получается. Не могу понять почему. Можно конечно придумать велосипед. Вывести в tpl засунув в input(hidden) и в контроллере через get забрать. Но этоже шлак! Помогите разобраться, пожалуйста! Сейчас осваиваю opencart, возможно чего-то не понимаю или не знаю... 

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


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

К confirm мы обращаемся через ajax если случается onclick по кнопке внутри способа оплаты. В этой ф-ии confirm мы и добавляем адреса к комментариям Разницы же нет где вставлен 

$geoip = $this->registry->get('geoip');

или его и внутри confirm надо вставить?

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


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

я получаю пустую строку после двоеточия... 

Где я туплю?

та где угодно.

var_dump, вывод ошибок и хрустальный шар в помощь.

у нас все хрустальные шары уже сломались.

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


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

Да была проблема с этим ajax-ом и не мог вывести var_dump 

Решение такое получилось: В контроллере платежного способа в начале функции confirm добавил

$geoip = $this->registry->get('geoip');
		$data['geoip_address'] = $geoip->getRule('address', 'Выберите ваш филиал!');
и перед добавлением комментариев в историю:

if(isset($data['geoip_address'])){
				$comment .= "\n\nЗаказ можно забрать: " . $data['geoip_address'];
			}
Спасибо, земляк!

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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