Модуль оплаты: как получить список товаров в redirect.php

Автор vornic, 07 сентября 2016, 17:02:40

« назад - далее »

vornic

Здравствуйте, при написании модуля оплаты, для одного из банков, перед редиректом требуется сформировать список товаров корзины. Как я понимаю, нужно это делать через вызов: Order::getOrderByCartId($myCart->id)

и уже по order_number получить этот список?

Миколас


vornic


Миколас


vornic


vornic

#5
Ничего не вышло, при вызове:
$zzz = $this->$context->cart->getProducts(); //$context->cart->getProducts(); // Configuration::get('PS_SHOP_NAME')

$this->context->smarty->assign(array(
            'currency'     => 'RUP',
            'order'        => $order_number.'-'.uniqid(),
            'amount'       => $amount_rup,
            'details'     => "$details",
            'ext_details'  => "$fio",
            'merchant'     => htmlentities(Tools::getValue('apb_id', $this->module->apbonline_merchant_id), ENT_COMPAT, 'UTF-8'),
            'return_url'   => $success_url,
            'server_url'   => $server_url,
            'All_Products' => "0JLQsNGI0Lgg0LfQsNC60LDQt9GL",
            'SignatureValue' =>  $zzz
));

// var_dump($zzz);
$this->setTemplate('redirect.tpl');

...похоже происходит исключение, не понятно как такое отлаживать, что за ошибка, где...  :(

coder

$cart = $this->context->cart;
$this->context->smarty->assign(array(
'nbProducts' => $cart->nbProducts(),

В шаблоне вывести {nbProducts}. Показывает число товаров в корзине?

vornic

Да, количество показывает. Этот обьёкт и есть список товаров, нужно его через foreach перебрать?

PrestaMan

nbProducts - число товаров в корзине, которое определяется по количеству.

Массив товаров возвращает getProducts
foreach ($cart->getProducts() as $product)
{
        return $product['id_product'];
}
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

vornic

Спасибо, но тут я получаю список идентификаторов товаров, тогда получается, нужно по ним вытаскивать и остальные поля. Я посмотрел исходники ф-ии getProducts, там нет необходимого, вероятно есть ф-ии для получения остальных полей товара?

PrestaMan

Не только id, там есть и другая информация.
Вывод массива можете сделать, чтобы посмотреть что в нем
{$products|var_dump}
Если нужно больше информации, то для каждого товара
new Product($product['id_product'])
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

vornic

Спасибо большое, то что надо.
А не подскажите, как вытащить наименование текущего магазина?

PrestaMan

Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

vornic

И снова спасибо, впервые встречаю такую отзывчивость, самые злые на форуме битриха, самые приятные в общении тут! :)