2013-03-15 3 views
0

Я программирую расширение ajax для Magento, и у меня возникают проблемы, когда я пытаюсь сделать с ним работу по проверке/работе с корзиной.Magento, checkout/cart block не загружается в расширение ajax

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

Я изменил макет, как сказал многие сайты, и я не могу получить рендеринг вывески/корзины.

Моих два решений были:


1 ° судимый для обновления макета через файл XML, и я получаю ложный в $ block_cart.

У меня есть класс

Mati_Ajax_CartController extends Mage_Checkout_CartController 
{ 
... 
    public function updateShoppingCartAction() 
    { 
     ... 
     $block_cart = $this->getLayout()->getBlock('checkout/cart'); 
     ... 
    } 
} 

и файл XML (который я уверен, что I'ts загружается обусловленно в JS указал там нагрузка)

<checkout_cart_updateshoppingcart> 
    <update handle="checkout_cart_index" /> 
</checkout_cart_updateshoppingcart> 

2 ° Попытка создать блок

public function updateShoppingCartAction() 
{ 
    ... 
    $block_cart = $this->getLayout()->getBlockSingleton('checkout/cart')->setTemplate("checkout/cart.phtml")->toHtml(); 
    ... 
} 

И здесь я получить блок, но когда шаблон выполняет $this->getChildHtml('totals'); Он получает ложное Anwer, так что веб-страница имеет некоторые различия с previousone


Кто-нибудь знает, как сделать эту работу?

ответ

0

В первой попытке просто добавить ->toHtml();

В качестве альтернативы вы могли бы включить, что в качестве команды в XML output="toHtml"

Проверьте, как checkout/onepage/review функции, если вы ищете советы. Там они получают доступ к объекту ответа, а затем установить тело ответа на переменную HTML, в вашем случае $block_cart

+0

спасибо за Ваш ответ! поскольку я получаю false, когда я выполняю -> toHtml(), я получаю сообщение об ошибке, поэтому я не написал его здесь. – matias

0

Ключ был в файле XML

<ajax_cart_updateshoppingcart> 
    <update handle="checkout_cart_index" /> 
</ajax_cart_updateshoppingcart> 
Смежные вопросы