cancel
Showing results for 
Search instead for 
Did you mean: 

Kundennummer in die Bestellbestätigung integrieren

Kundennummer in die Bestellbestätigung integrieren

Hallo,ich suche gerade nach einer Möglichkeit, um eine Kundennummer in die Bestellbestätigung zu implementieren.

Die Kundennummer existiert als Entity Attribut und ist in das Registrieungsformular eingebaut, sowie im Kundenbackend des Shops.

Ich finde aber keine Möglichkeit, um die Kundenummer in der ordder/default.phtml oder der order/items.phtml einzubinden.

 

Wenn ich die einfache Syntax aufrufe:

<?php echo $this->getCustomer()->getCustomerNumber()?>

kann ich die Bestellung nicht auslösen

Hat jemand vielleicht eine Idee?

 

Danke schonmal im Voraus.

 

Greetz

1 REPLY

Re: Kundennummer in die Bestellbestätigung integrieren

Hallo,

dazu muss man die Kundennummer auch zu Bestellung hinzufügen. Dazu benötigt man ein "installscript" welches das Datenmodell der Order um ein Feld erweitert. (das ist ein Beispiel ich hoffe du verstehst was hier geschieht) Ich gehe hier davon aus dass du über

 

$customer->getCustomerNumber()

den Wert bekommst.

 

Hier das installscript:

 

 

$installer = $this;
$installer->startSetup();

$sql = "ALTER TABLE `" . $this->getTable('sales/order') . "` ADD `customer_number` VARCHAR(20);";

$installer->run($sql);

$installer->endSetup();

 

 

Dann kannst du über ein Event die Kundennr. zur Order speichern.

...
<events>
    <checkout_type_onepage_save_order>
        <observers>
            <saveCustomerNumber>
                <class>Vendor_Namespace_Model_Observer</class>
                <method>saveCustomerNumber</method>
</saveCustomerNumber> </observers> </checkout_type_onepage_save_order> </events> ...

Observer:

class Vendor_Namespace_Model_Observer extends Mage_Core_Model_Observer
{
    /**
     * Save customerNumber from customer to order
     *
     * @param $observer
     */
    public function saveCustomerNumber($observer)
    {
        /** @var Mage_Sales_Model_Order $order */
        $order = $observer->getEvent()->getOrder();
        $customer = Mage::getSingleton('checkout/session')->getCustomer();
        $order->setData('customer_number', $customer->getCustomerNumber();
    }
}

 

Beste Grüße | Regards, Roman from CopeX.io