Автор Тема: Вопрос по OrderConfirmationController.php  (Прочитано 250 раз)

14 Января 2015, 14:32:56
  • Старожил
  • ****
  • Сообщений: 265
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте!
Вопрос такой:
Prestashop 1.6 На странице подтверждения покупки товара order-confirmation
требуется вывести информацию о купленных товарах.

В контроллере OrderConfirmationController.php информация о купленных товарах не передаётся в шаблон
$this->setTemplate(_PS_THEME_DIR_.'order-confirmation.tpl');
Здесь указано только:
$this->context->smarty->assign(array(
'is_guest' => $this->context->customer->is_guest,
'HOOK_ORDER_CONFIRMATION' => $this->displayOrderConfirmation(),
'HOOK_PAYMENT_RETURN' => $this->displayPaymentReturn()
));
Подскажите как заставить передать в шаблон информацию о купленных товарах.

И да, интересная особенность в Prestahop 1.4
указываю в шаблоне order-confirmation.tpl

         {foreach from=$products key=k item=v name=products}
                { id: {$v.product_id}, qnt: {$v.product_quantity},  price: {$v.product_price} } {if $smarty.foreach.products.last} {else},{/if}
{/foreach}
информация о купленных продуктах отображается, т.е. products передаётся.

Что есть такого в 1.4 чего нет в 1.6???
14 Января 2015, 15:18:56
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13285
  • Репутация: +14557/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Была такая тема, не вы открывали?
В prestashop 1.6 есть все от версии 1.4, только много измений в названиях переменных, функций и т.д. Для prestashop 1.5 сделана адаптация, а вот версию 1.4 уже не поддерживают.
14 Января 2015, 15:28:24
Ответ #2
  • Старожил
  • ****
  • Сообщений: 265
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Это всё понятно

И всё таки как передать в шаблон order-confirmation.tpl информацию о купленных товарах.
Предполагаю, что должно быть вот так:
$products = $params['cart']->getProducts(true);Как по другому получить 
$params['cart'] ???
14 Января 2015, 16:26:34
Ответ #3
  • Старожил
  • ****
  • Сообщений: 265
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вобщем помогла следующая конструкция:

$cart = new Cart($this->id_cart);
$cartProducts = $cart->getProducts();

$this->context->smarty->assign(array(
'cartProducts' => $cartProducts,

Удачи!