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

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


zeyser

Recommended Posts

Есть такой стандартный способ оплаты /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. Это разные адреса магазинов. Я могу без проблем ее вывести в 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 користувачів

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

Important Information

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