2015-05-01 2 views
0

Я пытаюсь показать обновленную корзину покупок на странице проверки, есть ли способ показать?Как обновить корзину покупок на странице заказа Magento?

<?php echo $this->getChildHtml('form_before') ?> 
    <form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post"> 
    <?php echo $this->getBlockHtml('formkey'); ?> 
<button type="submit" name="update_cart_action" value="update_qty" title="<?php echo $this->__('Update Shopping Cart'); ?>" class="button btn-update"><?php echo $this->__('Update Shopping Cart'); ?></button> 
</form> 

ответ

0

Сначала вам нужно добавить форму для действия по обновлению корзины в вашем шаблоне. Имейте в виду, что вы должны добавить его вне любых других форм. Затем вам нужно будет добавить собственный модуль с собственным фронт-контроллером и действием, которое будет ждать отправки формы и перенаправит пользователя обратно на проверку. Действие формы должно быть: <form action="<?php echo $this->getUrl('frontNameOfYourController'); ?>" method="post"> //Don't forget to add a session key to this form. <div><input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" /></div> в вашем и т.д./config.xml добавить следующее: <frontend> <routers> <modulename> <use>standard</use> <args> <module>Package_Modulename</module> <frontName>frontNameOfYourController</frontName> </args> </modulename> </routers> </frontend> Затем в контроллерах/папки добавить IndexController.php: class Package_Modulename_IndexController extends Mage_Core_Controller_Front_Action { //Method for submitting the action public function indexAction() { //This action should receive the posted data from the form, please refer to the methods: public function updatePostAction(), protected function _updateShoppingCart() for updating the cart and protected function _emptyShoppingCart() for emptying the cart in code/core/Mage/Checkout/controllers/CheckoutController.php //The difference in your method should be that it should redirect to your checkout page once the form is submitted. } } Я думаю, что это будет делать работу за вас. Если вам нужно больше объяснений о том, как следует писать методы, оставьте комментарий.

0

Добавьте следующий код в файл local.xml

приложение/дизайн/интерфейс/YOURPACKAGE/YOURTHEME/макет/local.xml

<checkout_onepage_index translate="label"> 
    <reference name="right"> 
     <block type="checkout/cart_sidebar" name="cart_sidebar" template="checkout/cart/sidebar.phtml" before="-"> 
      <action method="addItemRender"> 
       <type>simple</type> 
       <block>checkout/cart_item_renderer</block> 
       <template>checkout/cart/sidebar/default.phtml</template> 
      </action> 

      <action method="addItemRender"> 
       <type>grouped</type> 
       <block>checkout/cart_item_renderer_grouped</block> 
       <template>checkout/cart/sidebar/default.phtml</template> 
      </action> 

      <action method="addItemRender"> 
       <type>configurable</type> 
       <block>checkout/cart_item_renderer_configurable</block> 
       <template>checkout/cart/sidebar/default.phtml</template> 
      </action> 

      <block type="core/text_list" name="cart_sidebar.extra_actions" as="extra_actions" translate="label" module="checkout"> 
       <label>Shopping Cart Sidebar Extra Actions</label> 
      </block> 
     </block> 
    </reference> 
</checkout_onepage_index> 
Смежные вопросы