2016-05-10 11 views
0

haken Ich habe ein Magento-Modul gemacht, Es hat mehrere Methoden, von denen 1 Methode ProcessOrderAction() ist, möchte ich diese Methode jedes Mal aufrufen, bevor ich finale Kasse, meine Konfigurationsdatei ist unterhalb.Müssen eine Methode pre-Checkout in Magento

<?xml version="1.0"?> 
 
<config> 
 
    <modules> 
 
     <kodework_ongoing> 
 
      <version>0.1.0</version> <!-- Version number of your module --> 
 
     </kodework_ongoing> 
 
    </modules> 
 
    <frontend> 
 
     <routers> 
 
      <mymodule> 
 
       <use>standard</use> 
 
       <args> 
 
        <module>kodework_ongoing</module> 
 
        <frontName>ongoing</frontName> 
 
       </args> 
 
      </mymodule> 
 
     </routers> 
 
\t \t 
 
    </frontend> 
 
\t 
 
\t 
 

 
</config>

+0

Wo genau Sie in einzuhaken wollen? Auf der Warenkorbseite oder vor dem ersten Schritt in der Kasse oder beim Bestellvorgang? – codedge

+0

kurz vor dem letzten Schritt der Kasse, muss ich Warenkorb Details ergreifen, wenn die Bestellung platziert wird, so dass vor der endgültigen Bestätigung Schritt, um den Anruf zu tätigen und die Bestellanfrage senden müssen :) –

Antwort

1

könnten Sie das Ereignis verwenden checkout_cart_save_after in über einen Beobachter einzuhaken. Dieses Ereignis wird ausgelöst, nachdem der Nach-Warenkorb-Speicher normalerweise nach Änderungen mit Einkaufswagen-Artikeln aufgerufen wird.

Um dies zu verwenden, müssen Sie Ihre config.xml mit einem Anruf an Ihre observer Klasse und Ihre Methode zu aktualisieren.

<?xml version="1.0"?> 
<config> 
    <modules> 
     <kodework_ongoing> 
      <version>0.1.0</version> <!-- Version number of your module --> 
     </kodework_ongoing> 
    </modules> 
    <frontend> 
     <routers> 
      <mymodule> 
       <use>standard</use> 
       <args> 
        <module>kodework_ongoing</module> 
        <frontName>ongoing</frontName> 
       </args> 
      </mymodule> 
     </routers> 
     <!-- Hook into events start --> 
     <events> 
      <checkout_cart_save_after> 
       <observers> 
        <kodework_ongoing> 
         <class>kodework_ongoing/observer</class> <!-- The observer class where with the ProcessOrderAction method --> 
         <method>ProcessOrderAction</method> 
        </kodework_ongoing> 
       </observers> 
      </checkout_cart_save_after> 
     </events> 
     <!-- Hook into events end --> 
    </frontend> 
</config> 

Wie Sie können Sie eine observer-Klasse benötigen app/code/local/Kodework/Ongoing/Model/Observer.php

<?php 
class Kodework_Ongoing_Model_Observer 
{ 
    public function ProcessOrderAction($observer) 
    { 
     $cart = $observer->getData('cart'); 
     $quote = $cart->getData('quote'); 
     $items = $quote->getAllVisibleItems(); 

     // More logic... 
    } 
} 
+0

vielen Dank !!!!! –

Verwandte Themen