Автор Тема: Получить остаток к оплате  (Прочитано 705 раз)

30 Июль 2017, 22:33:46
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день. Подскажите как получить остаток к оплате Престашоп 1.6 . Формула Итого - предоплата. Не могу реализовать. Подскажите пожалуйста
30 Июль 2017, 23:22:02
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Какая формула? Одна переменная минус вторая равно третья.
30 Июль 2017, 23:29:44
Ответ #2
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Код примера у вас есть у меня не получается?
30 Июль 2017, 23:34:02
Ответ #3
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Правлю AdminOrdersController.php
Выводим так
$remainder = здесь что?

 $this->fields_list[$remainder]  = array(
 'title' => $this->l('Остаток к оплате'),
 'align' => 'left',
 );
31 Июль 2017, 10:20:16
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
'название переменной' => array(
        'title' => $this->l('Текст заголовка'),
        'align' => 'выравниванье',
        'type' => 'тип переменной',
        'orderby' => 'сортировка',
        'callback' => 'функция обратного вызова'
),
31 Июль 2017, 10:24:46
Ответ #5
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как сумму посчитать двух массивов???
31 Июль 2017, 11:39:19
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Массивы можно объединить функцией array_merge или сложить.
$result = $array1 + $array2;
31 Июль 2017, 11:44:50
Ответ #7
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Пробовал. Выводит пустое поле.
31 Июль 2017, 11:45:41
Ответ #8
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Как сумму посчитать двух массивов???
Для вывода разницы цены нужно высчитывать разницу между 2-мя переменными, а не массивами.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
31 Июль 2017, 11:48:04
Ответ #9
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вы пример можете показать. Я пробовал разные варинты
31 Июль 2017, 12:13:12
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Так пробывали?
$sum = $array['первый'] + $array['второй'];
31 Июль 2017, 12:21:04
Ответ #11
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вот код. Не работает.

$sum = $array['total_paid_tax_incl'] + $array['total_paid_real'];
$this->fields_list = array_merge($this->fields_list, array(
         

'total_products_wt' => array(
                'title' => $this->l('Цена без услуг'),
                 'align' => 'text-right',
                'type' => 'price',
                'currency' => true,
                'callback' => 'setOrderCurrency',
                'badge_success' => true
            ),

 'total_paid_real' => array(
                'title' => $this->l('Предоплата'),
                 'type' => 'price',
                  'align' => 'text-right',
                'currency' => true
               
               
               
            ),

 'total_paid_tax_incl' => array(
                'title' => $this->l('Total'),
                'align' => 'text-right',
                'type' => 'price',
                'currency' => true,
                'callback' => 'setOrderCurrency',
                'badge_success' => true
            ),
$sum => array(
                'title' => $this->l('Остаток к оплате'),
                'align' => 'text-right',
                'type' => 'price',
                'currency' => true,
                'callback' => 'setOrderCurrency',
                'badge_success' => true
            )
        ));
31 Июль 2017, 12:31:42
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Показ ошибок включите когда что-то делаете с prestashop. Сразу легче будет.
fields_list массив и добавлять новые элементы нужно
'sum' => array(
             'title' => $this->l('Остаток к оплате'),
             ....
Если переменная не описаниа в классе Order, переменную шаблона инициализируют в методе renderList
$this->tpl_list_vars['sum'] = $total_paid_tax_incl + $total_paid_real;
31 Июль 2017, 12:46:59
Ответ #13
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Неверный SQL запрос
Unknown column 'sum' in 'field list'
31 Июль 2017, 13:47:19
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Неверный SQL запрос
Unknown column 'sum' in 'field list'
Потому что в классе (модели) нет такой переменной.
Если переменная не описаниа в классе Order, переменную шаблона инициализируют в методе renderList