Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Page 1 of 2
Magento Event “sales_order_save_after” Bestellung an eine URL senden
 
josch1985
Member
 
Total Posts:  31
Joined:  2009-01-28
 

Hallo Leute,

leider weis ich nicht wie ich es hinbekomme das bei einem Event “sales_order_save_after” die Bestelldaten an eine URL z.B. www.deinedomain.de/orderreceive.de gesendet werden, kann mir einer von euch weiterhelfen? Ich bin am verzweifeln :(

VIele Grüße
Josch

 
Magento Community Magento Community
Magento Community
Magento Community
 
team_in_medias
Sr. Member
 
Avatar
Total Posts:  113
Joined:  2008-05-06
Aachen, Germany
 

Hallo Josch,

was meinst du mit “gesendet”?
Und wo genau ist das Problem?
Fehlt dir der Ansatz?
Oder der Zugriff auf die Bestelldaten?
Funktioniert dein Event Listener?

Ich fürchte, du wirst etwas präziser werden müssen…

Viele Grüße,
Andreas

 
Magento Community Magento Community
Magento Community
Magento Community
 
josch1985
Member
 
Total Posts:  31
Joined:  2009-01-28
 

Hallo,

also ich möchte wenn jemand auf den “Checkout"-Button klickt die Bestelldaten (order) an eine von mir vorgegebene Funktion sendet. Leider habe ich das bisher noch nicht hinbekommen, kannst du mir da helfen?

Viele Grüße
josch

 
Magento Community Magento Community
Magento Community
Magento Community
 
team_in_medias
Sr. Member
 
Avatar
Total Posts:  113
Joined:  2008-05-06
Aachen, Germany
 

Hallo Josch,

hier wirst du zunächst ein eigenes Modul erstellen müssen.
Hierdrin ein Model mit einer Funktion.
Diese Funktion registrierst du auf das Event checkout_onepage_controller_success_action mit folgendem Code in der config.xml:

<config>
    <global>
       <
events>
            <
checkout_onepage_controller_success_action>
                <
observers>
                    <
commercial_sale_observer>
                        <
type>singleton</type>
                        <class>
Company_Module_Model_Observer</class>
                        <
method>xmlExportOrder</method>
                    </
commercial_sale_observer>
                </
observers>
            </
checkout_onepage_controller_success_action>     
        </
events>
    </global>
</
config>
(Hier z.B. die Methode xmlExportOrder() der Klasse Company_Module_Model_Observer.)

In deiner Klasse kannst du dann die Bestelldaten wie folgt auslesen:

public function xmlExportOrder() {
        
        $orderId 
Mage::getSingleton('checkout/type_onepage')
                ->
getCheckout()->getLastOrderId();
        
$order Mage::getModel('sales/order')->load($orderId);
        
$orderNo $order->getIncrementId();
    
}

Und damit kannst du dann beliebige PHP-Funktionen ausführen.

Hilft das weiter?

Gruß,
Andreas

 
Magento Community Magento Community
Magento Community
Magento Community
 
josch1985
Member
 
Total Posts:  31
Joined:  2009-01-28
 

Hi Andreas!

Danke für deine Nachricht, leider weis ich noch nicht wie ich ein neues Modul für Magento erstellen kannst. Hast du vllt eine kurze Anleitung dazu?

Dank!

Vielen Grüße
Josch

 
Magento Community Magento Community
Magento Community
Magento Community
 
team_in_medias
Sr. Member
 
Avatar
Total Posts:  113
Joined:  2008-05-06
Aachen, Germany
 

In die Modulerstellung musst du dich auf jeden Fall etwas einarbeiten, bevor du solche Erweiterungen angehst.
Ich empfehle hier das Buch “Guide to E-commerce Programming with Magento” von Mark Kimsal. Eine ganz kurze Einführung gibt es auch im Wiki (http://www.magentocommerce.com/wiki/groups/174/changing_and_customizing_magento_code) sowie eine ausführliche unter http://www.mxperts.de/category/programmierung-module/extensions-tutorial/.

Gruß,
Andreas

 
Magento Community Magento Community
Magento Community
Magento Community
 
josch1985
Member
 
Total Posts:  31
Joined:  2009-01-28
 

Hi Leute,

so habe nun wie folgt ein Modul angelegt (leider funktioniert es nicht)

Schritt 1)
Unter /app/modules/ die Datei “Firma_Checkout.xml” mit dem Inhalt:

<?xml version="1.0"?> 
<config
<
modules
<
Firma_Checkout
<
active>true</active
<
codepool>local</codepool
</
Firma_Checkout
</
modules
</
config>
Schritt 2)
Unter /app/code/local/Firma/Checkout/etc/ die Datei “config.xml” angelegt mit folgenden Inhalt:
<?xml version="1.0"?> 
<config
<global> 
<
events
<
checkout_onepage_controller_success_action
<
observers
<
Firma_Checkout_Model_Observer
<
type>singleton</type
<class>
Firma_Checkout_Model_Observer</class> 
<
method>meineFunktion</method
</
Firma_Checkout_Model_Observer
</
observers
</
checkout_onepage_controller_success_action
</
events
</global> 
</
config>
Schritt 3)
Unter /app/code/local/Firma/Checkout/Model die Datei “Observer.php” mit folgenden Inhalt angelegt:
<?php 

class Firma_Checkout_Model_Observer 

public function meineFunktion() 


// Die Datei "muh.php" soll einfach nur einen Ordner erstellen damit ich weis das es geht 
file("http://localhost/muh.php")




?>
Leider Funktioniert es nicht, habe ich irgendwas übersehen oder vergessen? Die Funktion soll ausgeführt werden wenn die Bestellung durchgeführt worden ist.

Für eine Antwort bedanke ich mich bereits jetzt!

Viele Grüße
josch

 
Magento Community Magento Community
Magento Community
Magento Community
 
team_in_medias
Sr. Member
 
Avatar
Total Posts:  113
Joined:  2008-05-06
Aachen, Germany
 

Hi josch,

sieht eigentlich richtig aus. Gibt es eine Fehlermeldung, oder passiert einfach gar nichts?
Entferne in der index.php im Hauptverzeichnis vielleicht mal das Kommentarsymbol von der Zeile mit dem Error-Reporting.

Ansonsten würde ich den Fehler eher bei der Zeile “file("http://localhost/muh.php"); “ suchen, die so mit ziemlicher Sicherheit keinen Ordner anlegen kann. Versuch’s mal mit:
mkdir($_SERVER[’DOCUMENT_ROOT’] . ‘/test/’);

Gruß,
Andreas

 
Magento Community Magento Community
Magento Community
Magento Community
 
josch1985
Member
 
Total Posts:  31
Joined:  2009-01-28
 

HI Andreas,

danke für die Information. Ich habe das Error-Reporting nun eingeschaltet, es wird aber kein Fehler angezeigt selbst wenn ich z.B. eine der XML-Dateien Fehlerhaft mache. Das mit dem Ordner anlegen sollte eigentlich funktionieren, jedenfalls legt er den Ordner an wenn ich das Script manuell ausführe.

Weist du woran es noch liegen kann?

Viele Grüße
Josch

 
Magento Community Magento Community
Magento Community
Magento Community
 
josch1985
Member
 
Total Posts:  31
Joined:  2009-01-28
 

Mir kommt es vor als ob er das ganze im Ordner “magento\app\code\local” garnicht findet oder so…

 
Magento Community Magento Community
Magento Community
Magento Community
 
symmetrics_si
Member
 
Avatar
Total Posts:  36
Joined:  2009-03-06
 

Schritt 1)
Unter /app/modules/ die Datei “Firma_Checkout.xml” mit dem Inhalt:
....

Die Datei gehört auch nach /app/etc/modules/ wink

 
Magento Community Magento Community
Magento Community
Magento Community
 
josch1985
Member
 
Total Posts:  31
Joined:  2009-01-28
 

Hi,

ja die Datei liegt auch unter /app/etc/modules/ (war ein Schreibfehler von mir).

Gruß
Josch

 
Magento Community Magento Community
Magento Community
Magento Community
 
josch1985
Member
 
Total Posts:  31
Joined:  2009-01-28
 

HI Leute,

ich habe jetzt alles durchgetestet und bei Andreas läuft mein Modul auch, leider bei mir Lokal nicht. Kann es sein das man irgendwo noch eine Einstellung machen muss damit das Modul verwendet wird?

Gruß
josch

 
Magento Community Magento Community
Magento Community
Magento Community
 
kay
Sr. Member
 
Total Posts:  223
Joined:  2008-01-13
Germany 德国,China 中国
 

vllt. cache leeren?

 
Magento Community Magento Community
Magento Community
Magento Community
 
josch1985
Member
 
Total Posts:  31
Joined:  2009-01-28
 

Hi Kay,

nein daran lag es nicht :(

Gruß
josch

 
Magento Community Magento Community
Magento Community
Magento Community
 
kay
Sr. Member
 
Total Posts:  223
Joined:  2008-01-13
Germany 德国,China 中国
 

befindet sich dein modul auf ein linux oder windows system? vllt. datei / verzeichnis rechte falsch gesetzt?

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top
Page 1 of 2