Перейти к содержанию
Форум поддержки пользователей VamShop

оплата через сбербанк


Алексей Герцев

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

Алексей Герцев

Здравствуйте!

переименовал файл модуля kvitancia в kvitancia2, иначе он не желал работать, вернее не было возможности его отредактировать,  сейчас все работает кроме одного момента при подтверждении заказа на странице /checkout_success.php не появляется кнопка распечатать квитанцию. При переименовке изменялись файлы includes/modules/payment/kvitancia

и  0:/lang/russian/modules/payment/kvitancia , может еще где-то надо внести изменения?

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

Наверное нужно в /checkout_success.php исправлять условие вывода кнопки распечатки, она ж по умолчанию именно для оригинального модуля.

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

Спасибо! с кнопкой разобрался, а для добавления данных в форму квитанции пришлось править еще  /kvitancia.php

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

единственное что еще хотелось спросить, о формировании  квитанции , Расчетный счет и БИК по умолчанию выводятся в обдну строку, из-за длины счета информация выводится некорректно слово БИК остается на первой строке а номер переходит на вторую, подскажите как принудительно БИК поместить на вторую строку?

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

Извините, но я опять по квитанции, получается такая ситуация, что в бланк квитанции не подставляются значения плательщика (имя и адрес). Т.е.  из \kvitancia.php  в  \templates\vamshop\module\kvitancia.html переменные {$kvit_name}

{$kvit_address} приходят с пустыми значениями, причем в полях ИНФОРМАЦИЯ ОПЛАТЕЛЬЩИКЕ на checkout_payment.php эти данные отображаются.

Нашел в \kvitancia.php код значения этих переменных

$vamTemplate->assign('kvit_name', $persons['name']);

$vamTemplate->assign('kvit_address', $persons['address'])

если вместо $persons['name'] я ставлю допустим 'Гриша' - то это значение приходит в квитанцию, я не программист - поэтому все приходится осваивать по книгам, но я понимаю, что в данной ситуации  $persons['name'] и $persons['address'] - ничего не передают.

причем определение kvit_name и kvit_address в includes/modules/payment/kvitancia2.php

происходит следующим образом

function selection() {

      global $order;

$selection = array('id' => $this->code,

                        'module' => $this->title,

                        'description'=>$this->info,

                      'fields' => array(array('title' => MODULE_PAYMENT_KVITANCIA2_NAME_TITLE,

                                              'field' => MODULE_PAYMENT_KVITANCIA2_NAME_DESC),

                                        array('title' => MODULE_PAYMENT_KVITANCIA2_NAME,

                                              'field' => vam_draw_input_field('kvit_name', $order->customer['firstname'] . ' ' . $order->customer['lastname'])),

                                        array('title' => MODULE_PAYMENT_KVITANCIA2_ADDRESS,

                                              'field' => vam_draw_input_field('kvit_address',$order->customer['city'] . ' ' . $order->customer['street_address']) . MODULE_PAYMENT_KVITANCIA2_ADDRESS_HELP),

                                        ));

здесь для kvit_name необходимо добавить отчество - как это сделать, вернее что нужно добавить в строку с ластнаме и фирстнаме (учил немецкий в детстве - англичане- айм сори))))???? потому как в сбербанке да и в любых др банках требуют обязательно полное Ф.И.О. отправителя.

Вообще по логике надо отключить эти строки информации о плательщике в модуле оплаты через СБ на странице  checkout_payment.php, что бы значения плательщика в квитанцию подставлялись по умолчанию. Как быть пока они никак не подставляются (((

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

Данные плательщика записываются в базе, в таблице persons и затем выводятся в квитанцию, может Вы просто удалили этот код вставки данных в TABLE_PERSONS ?!

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

в каком файле этот код посмотреть? в includes/modules/payment/kvitancia2.php есть вот такая функция

function process_button() {

      $process_button_string = vam_draw_hidden_field('kvit_name', $this->name) .

                              vam_draw_hidden_field('kvit_address', $this->address);

  $order_query = vam_db_query("select MAX(orders_id) AS orders_id FROM " . TABLE_ORDERS_TOTAL);

  $order_id = vam_db_fetch_array($order_query);

  $order_num = $order_id['orders_id'] + 1;

      global $insert_id, $name, $address, $checkout_form_action, $checkout_form_submit;

      vam_db_query("INSERT INTO ".TABLE_PERSONS." (orders_id, name, address) VALUES ('" . vam_db_input($order_num) . "', '" . vam_db_input($this->name) . "', '" . vam_db_input($this->address) ."')");

      return $process_button_string;

}

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

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

Так а оригинальный модуль работает?!

Просто у Вас староватая версия модуля, в которой могли быть проблемы как раз с этим куском, вставляли в таблицу persons несколько раз данные и поэтому в квитанции могли не выводиться данные плательщика.

В 1.56 исправлена была ошибка.

Можно попробовать взять из полследей версии магазина /includes/modules/payment/kvitancia.php

Почистить таблице persons, что б удалить пустые записи и попробовать с новой версией, будет она выводить данные плателщика или нет.

Прицепил файл текущий /includes/modules/payment/kvitancia.php

kvitancia.php

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

поставил прикрепленный файл в нем только kvitancia на kvitancia2 поменял имена - все осталось без изменений - результат не изменился, таблицу почистить нет сейчас возможности, только вечером смогу, ни разу этого не далал , подскажите плз что именно и где мне предстоит удалить?

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

Вы пробуете на рабочем магазине или на тестовом?!

Если на стестовом, то просто в phpMyAdmin очистите таблицу persons.

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

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

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

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

А то мало ли что может быть, не надо сразу на рабочем.

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