Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Получение значения input


Recommended Posts

Добрый гдень! Пыиюсь изменить одну из форм оплат, а точнее необходимо добавить туда поля для заполнения и после вывести их в письмо о успешном заказе.
Эи строка находится в tpl-файле: <input type="text" name="nameUr" value="<?php echo $nameUr; ?>" placeholder="Наименование Юр. лица" id="input-payment-nameUr" class="form-control" />. Через нее и собираюсь получать данные в письмо.

После чего пыиюсь полулить значения через сессии:
if (isset($this->session->data['bank_transfer']['nameUr'])) {
   $data['nameUr'] = $this->session->data['bank_transfer']['nameUr'];
} else {
   $data['nameUr'] = ' ';
}

И вывожу через: $comment .= $this->language->get('nameUr');
Но в письмо приходит только название переменной (nameUr), может кто силкивался с подобным или знает как полулить данные? Буду очень благодарен.

Link to comment
Share on other sites


11 минут назад, Wyachik2 сказал:

И вывожу через: $comment .= $this->language->get('nameUr');

Дак вы и выводите только название переменной из текстового файла. 

Если $data['nameUr'] = $this->session->data['bank_transfer']['nameUr']; вы получаете в контроллере отправки письма, то во вью надо к нему обратиться как к $nameUr

 

$comment .= $this->language->get('nameUr'). ': ' .$nameUr;

Например ик.

 

А, хотя я туплю) $comment у вас ведь тоже в контроллере получается заполняется, а не во вью. Тогда непонятно зачем данные из сессии передаёте в $data. )

 

Link to comment
Share on other sites

5 минут назад, iglin сказал:

Дак вы и выводите только название переменной из текстового файла. 

Если $data['nameUr'] = $this->session->data['bank_transfer']['nameUr']; вы получаете в контроллере отправки письма, то во вью надо к нему обратиться как к $nameUr

 

$comment .= $this->language->get('nameUr'). ': ' .$nameUr;

Например ик.

 

По прежнему выводит только название переменной

Link to comment
Share on other sites


7 минут назад, iglin сказал:

А, хотя я туплю) $comment у вас ведь тоже в контроллере получается заполняется, а не во вью. Тогда непонятно зачем данные из сессии передаёте в $data. )

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

Link to comment
Share on other sites


Только что, Wyachik2 сказал:

По прежнему выводит только название переменной

дак я уже понял, ниже дописал. $comment ведь у вас в контроллере тоже, ик что нужно 

$comment .= $this->language->get('nameUr'). ': ' .$data['nameUr'];

ну и естественно $data['nameUr'] должно быть до заполнения $comment. Ну и желательно тогда не $data['nameUr'], а просто $nameUr, чтоб почём зря ещё раз во вью не передавать  )

Link to comment
Share on other sites

Только что, Wyachik2 сказал:

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

if (isset($this->session->data['bank_transfer']['nameUr'])) {
   $nameUr = $this->session->data['bank_transfer']['nameUr'];
} else {
   $nameUr = ' ';
}

ну вот ик правильней. 

А ниже уже $comment .= $this->language->get('nameUr'). ': ' .nameUr;

Link to comment
Share on other sites

3 минуты назад, iglin сказал:

дак я уже понял, ниже дописал. $comment ведь у вас в контроллере тоже, ик что нужно 

$comment .= $this->language->get('nameUr'). ': ' .$data['nameUr'];

ну и естественно $data['nameUr'] должно быть до заполнения $comment. Ну и желательно тогда не $data['nameUr'], а просто $nameUr, чтоб почём зря ещё раз во вью не передавать  )

Ничего не поменялось, попропотому чтовал заменить $data['nameUr'] на $nameUr начало ругаться на строку с input:
b>Notice</b>: Undefined variable: nameUr in <b>url/catalog/view/theme/default/template/extension/payment/bank_transfer.tpl</b> on line <b>9</b>

Link to comment
Share on other sites


4 минуты назад, Wyachik2 сказал:

Ничего не поменялось, попропотому чтовал заменить $data['nameUr'] на $nameUr начало ругаться на строку с input:

А что ж вы молчали что это не контроллер отправки письма, а контроллер модуля оплаты. Это всё меняет. 

 

Надо глубже тогда разбираться как у вас это вписывается в сессию, в каком месте досиётся и доступно ли к моменту вызова addOrderHistory

Link to comment
Share on other sites

4 минуты назад, iglin сказал:

А что ж вы молчали что это не контроллер отправки письма, а контроллер модуля оплаты. Это всё меняет. 

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

Edited by Wyachik2
Link to comment
Share on other sites


5 минут назад, Wyachik2 сказал:

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

да нет, по сути не проещё, ик же. Если вы реализовали уже запись в сессию в контроллере оплаты, то к ней можно обратиться и в контроллере отправки письма. Да как отправляется оно через addOrderHistory (если мне память не изменяет), а к тому времени сессия ещё жива, листится она на следуюещём шаге в success.

 

Но правильней конечно же всё згдесь в модуле оплаты сгделать.

Link to comment
Share on other sites

10 минут назад, iglin сказал:

Надо глубже тогда разбираться как у вас это вписывается в сессию, в каком месте досиётся и доступно ли к моменту вызова addOrderHistory

sender-form.php вот исходный код формы заполнения
payment-modul.php а это самого модуля оплаты
Сессия в люпотому чтом случае должна быть жива, ик как выводится через нее информация о оплате и имя переменной

Edited by Wyachik2
Link to comment
Share on other sites


4 минуты назад, Wyachik2 сказал:

Сессия в люпотому чтом случае должна быть жива, ик как выводится через нее информация о оплате и имя переменной

Ох и наворотили же вы им)) Сессия то конечно жива, но вы в неё ничего не вписываете это раз. Через get не передать данные формы (но вы и не пыились, указав ещё экшен для формы какой то левый) это два))

Ну а ик по сути если пригдерживаться логики вашего модуля: 

1. через ajax нужно передать данные из вашей формы в confirm

2. в confirm полулить эти данные, обрилиить и дописать в переменную $comment

 

Ну и сессия згдесь совсем не нужна

Link to comment
Share on other sites

6 минут назад, iglin сказал:

Ох и наворотили же вы им)) Сессия то конечно жива, но вы в неё ничего не вписываете это раз. Через get не передать данные формы (но вы и не пыились, указав ещё экшен для формы какой то левый) это два))

Ну а ик по сути если пригдерживаться логики вашего модуля: 

1. через ajax нужно передать данные из вашей формы в confirm

2. в confirm полулить эти данные, обрилиить и дописать в переменную $comment

 

Ну и сессия згдесь совсем не нужна

Спасипотому что за подсказки, сейчас буду пропотому чтовать)

Link to comment
Share on other sites


7 минут назад, Wyachik2 сказал:

Спасипотому что за подсказки, сейчас буду пропотому чтовать)

Если не полулится, пишите в ЛС, за парочку "пива" помогу))

  • +1 1
Link to comment
Share on other sites

17 минут назад, iglin сказал:

Если не полулится, пишите в ЛС, за парочку "пива" помогу))

Видимо все ики понадобится ваша помощь)

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.