[Помогите] Модуль "Оплата Плюс"

Тема в разделе "OpenCart", создана пользователем Vintage, 26 авг 2013.

  1. Vintage

    Vintage

    Регистрация:
    31 мар 2013
    Сообщения:
    238
    Симпатии:
    39
    Не выводится инструкция когда выбираешь один из способов оплаты
     
  2. fedia

    fedia

    Регистрация:
    4 авг 2013
    Сообщения:
    104
    Симпатии:
    13
    Настройка

    Для версий Опенкарта 1.5.5.1 и выше проверьте в конфиге наличие переменной HTTP_IMAGE, если ее нет,
    то добавьте сточку:
    define('HTTP_IMAGE','http://'.$_SERVER['HTTP_HOST'].'/image/');
    Для корректной работы модуля нужно внести несколько правок в код оформления заказа. Для этого вы можете использовать файл vqmod, либо внести ниже описанные правки вручную.

    Если вы используете стандартное оформление заказа внесите изменения в эти файлы:

    сatalog/controller/checkout/confirm.php

    найдите строчку:
    $this->data['payment']= $this->getChild('payment/'. $this->session->data['payment_method']['code']);
    замените ее на:
    $code = explode('.', $this->session->data['payment_method']['code']);
    $this->data['payment']= $this->getChild('payment/'. $code[0]);
    сatalog/controller/checkout/payment_method.php

    найдите строчку:
    $method_data[$result['code']]= $method;
    замените ее на:
    if(isset($method['quote'])){foreach($method['quote']as $key => $val){
    $method_data[$val['code']]= $val;}}else{
    $method_data[$result['code']]= $method;}
    catalog/view/theme/default/template/checkout/payment_method.tpl

    найдите строчку:
    echo $payment_method['title'];
    замените ее на:
    if(isset($payment_method['image'])and!empty($payment_method['image'])){?><img src="<?php echo HTTP_IMAGE.$payment_method['image'];?>"/><?
    echo '<span style="vertical-align:10px;">'.$payment_method['title'].'</span>';}else{
    echo $payment_method['title'];}
    Если вы используете для оформления заказа модуль Simple внесите изменения в эти файлы:

    сatalog/controller/checkout/simplecheckout.php

    найдите строчку:
    $this->data['payment_form']= $this->getChild('payment/'. $payment_method['code']);
    замените ее на:
    $code = explode('.',$payment_method['code']);
    $this->data['payment_form']= $this->getChild('payment/'. $code[0]);
    сatalog/controller/checkout/simplecheckout_payment.php

    найдите строчки:
    $method['description']=!empty($simple_payment_titles[$result['code']]['use_description'])&&!empty($simple_payment_titles[$result['code']]['description'][$this->simple->get_language_code()])? html_entity_decode($simple_payment_titles[$result['code']]['description'][$this->simple->get_language_code()]):(!empty($method['description'])? $method['description']:'');

    $method_data[$result['code']]= $method;
    замените их на:
    if(isset($method['quote'])){foreach($method['quote']as $val){
    $val['description']=!empty($simple_payment_titles[$result['code']]['use_description'])&&!empty($simple_payment_titles[$result['code']]['description'][$this->simple->get_language_code()])? html_entity_decode($simple_payment_titles[$result['code']]['description'][$this->simple->get_language_code()]):(!empty($val['description'])? $val['description']:'');

    $method_data[$val['code']]= $val;}}else{
    $method['description']=!empty($simple_payment_titles[$result['code']]['use_description'])&&!empty($simple_payment_titles[$result['code']]['description'][$this->simple->get_language_code()])? html_entity_decode($simple_payment_titles[$result['code']]['description'][$this->simple->get_language_code()]):(!empty($method['description'])? $method['description']:'');

    $method_data[$result['code']]= $method;}
    catalog/view/theme/default/template/checkout/simplecheckout_payment.tpl

    найдите строчку:
    echo $value['title'];
    замените ее на:
    if(isset($value['image'])and!empty($value['image'])){?><img src="<?php echo HTTP_IMAGE.$value['image'];?>"/><?
    echo '<span style="vertical-align:10px;">'.$value['title'].'</span>';}else{
    echo $value['title'];}
    найдите строчку:
    echo $payment_method['title'];
    замените ее на:
    if(isset($payment_method['image'])and!empty($payment_method['image'])){?><img src="<?php echo HTTP_IMAGE.$payment_method['image'];?>"/><?
    echo '<span style="vertical-align:10px;">'.$payment_method['title'].'</span>';}else{
    echo $payment_method['title'];}
    Ну и для того, чтобы при изменении заказов в админке способы оплаты корректно отображались
    нужно в файле

    сatalog/controller/checkout/manual.php

    перед строчкой
    if($this->request->post['payment_country_id']==''){
    добавить
    $this->request->post['payment_country_id']= $this->request->post['shipping_country_id'];
    $this->request->post['payment_zone_id']= $this->request->post['shipping_zone_id'];
    найти строчку
    $json['payment_method'][$result['code']]= $method;
    заменить ее на
    if($method){if(isset($method['quote'])){foreach($method['quote']as $val){
    $json['payment_method'][$val['code']]= $val;}}else{
    $json['payment_method'][$result['code']]= $method;}}
    в файл
    admin/language/russian/russian.php
    добавьте
    $_['text_browse']='Обзор';
    $_['text_clear']='Удалить';
     
  3. tunasik

    tunasik

    Регистрация:
    9 апр 2013
    Сообщения:
    50
    Симпатии:
    2
    какая версия Opencart?
     
  4. Vintage

    Vintage

    Регистрация:
    31 мар 2013
    Сообщения:
    238
    Симпатии:
    39
    1.5.4.1
    --- Добавлено, 5 окт 2013 ---
    Не помогло
     
  5. bawan

    bawan

    Регистрация:
    15 дек 2012
    Сообщения:
    102
    Симпатии:
    11
    А версия модуля какая? Описание на последнем шаге выводится - ты ведь его не на шаге оплаты ждешь?
     
  6. Gafe62

    Gafe62

    Регистрация:
    11 окт 2013
    Сообщения:
    252
    Симпатии:
    30
    По теме: в версии 1.0.3 на ocStore 1.5.4.1 способы оплаты появляются только после обновления страницы. Способы доставки (доставка плюс 1.4) появляются при выборе страны, а вот с оплатой плюс никак не получается.