cancel
Showing results for 
Search instead for 
Did you mean: 

Verfügbarkeit von Kommentaren VOR dem Abschluss einer Bestellung

Verfügbarkeit von Kommentaren VOR dem Abschluss einer Bestellung

Mein Problem hängt indirekt noch mit meiner letzten Frage zusammen, da dies jetzt mein "Plan B" dazu ist, eine zusätzliches in meinen Bestellvorgang einzubauen.

Es geht um einen Magento 1.9

 

Ich konnte also bislang das Zusatzfeld nicht einbauen, also will ich einfach mein Textfeld mit dem Kommentarfeld zusammenbauen. Ich realisiere das im Moment so:

in meiner config.xml

            <sales_model_service_quote_submit_before>
                <observers>
                    <onestepcheckout>
                        <type>model</type>
                        <class>onestepcheckout/observer</class>
                        <method>addHistoryComment</method>
                    </onestepcheckout>
                </observers>
            </sales_model_service_quote_submit_before>

in Observer.php

class Aries_OnestepCheckout_Model_Observer
{
    public function addHistoryComment($data)
    {
        $comment	= Mage::getSingleton('customer/session')->getOrderCustomerComment();

// Feld fuer interne Nummer des Kunden aus der Session holen
		$fieldValue = Mage::app()->getFrontController()->getRequest()->getParams();
		$kunde_intern		= $fieldValue['dudit_code_intern'];

        $kunde_intern		= trim($kunde_intern);
        $comment	= trim($comment); 
        if (!empty($comment))
			$comment = "<b>Ihr Interner Vorgang:</b> ".$kunde_intern."<br><b>Kommentar:</b>".$comment;
			$data['order']->addStatusHistoryComment($comment)->setIsVisibleOnFront(true)->setIsCustomerNotified(false);
    }
...
}

Funktioniert soweit ganz gut, was das Speichern in der Datenbank und der Verfügbarkeit des Kommentars im Backend betrifft. Auch für die PDF-Generierung der Bestellbestätigung funktioniert es. Im PDF ist es drin, da steht dann sowas in etwa:

"08.04.2018 16:58:21
Ihr Interner Vorgang: 075KB23A-1
Kommentar: Ein Kommentar.
Der kann auch mehrzeilig sein"

 

Nun das Problem:

Ich bekommen den String nicht in meine Mailtemplates.

 

var comment

liefert mir nur den String VOR dem Zusammenbau.

 

Mein "addHistoryComment()" wird vor der Umwandlung in eine Bestellung ausgeführt (siehe mein Snippet), was ausreicht für die PDF, aber nicht für die Mail-Templates.
Daraus folgt, dass offenbar die Mails sogar bereits noch früher zusammengebaut und geschickt werden (was meiner Meinung nach kaufmännisch sogar falsch wäre, wenn man die Mails schon schickt, obwohl die Bestellung noch nicht fix im System gespeichert ist).

Daher ist mein zusammengebauter String bei den Mails noch nicht verfügbar
Meine Anpassung aus der Observer.php beim OnestepCheckout müsste also an anderer Stelle erfolgen. 

 

Kann mir jemand helfen? WO muss ich meinen String zusammenbauen? Auf welchen Pfad?

 

Teile der Extension funktionieren im Template, z.B.

{{block type='core/template' area='frontend' template='auit/pdf/addpdf_offer.phtml' processor=$this shipment=$shipment order=$order}}

was aber nicht geht:

{{block type='core/template' area='frontend' template='auit/pdf/comments.phtml' entity=$entity 
}}

Laut Anbieter der Extension soll das "order"-Objekt voll verfügbar sein in der PDF-Erweiterung.

Da ja "var comment" (nur eben nicht meinen zusammengebauten String, sondern den String vorm Zusammenbau enthält) ebenfalls funktioniert und das ja aus "order" stammt.

Benötige ich eine Stelle wo ich den String zusammenbauen kann, dass er ggf. in comment enthalten ist, oder im order-Objekt gespeichert wird, bevor die Mails "gebaut" werden.

 

Bitte helft mir bei meinem "Plan B".