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
Bemerkungsfeld beim Checkout
 
Jaykay2k
Jr. Member
 
Total Posts:  3
Joined:  2008-11-13
 

Hallo liebe community,

und zwar versuche ich seit einer Woche ein Bemerkungsfeld am Ende des checkouts zu erstellen. Mir ist bis jetzt gelungen, das Feld an sich in der Template Datei erscheinen zu lassen.

Es befindet sich unter Schritt 6 “AGBs und Widerrufsrecht” bzw. “Terms and Conditions”.

folgender code auschnitt dort:

<div class="content">

    <
h5>Bemerkungen?</h5>

    <
textarea style="width: 450px; height: 100px;" name="order[message]" id="order_message"></textarea>
</
div>

In der Transaktions E-Mail vorlage, wird dann per {{var order.message}} die Bemerkung ausgegeben. Ich habe schon alle möglichen Kombinationen durchprobiert mit {{var order.message}} oder {{var message}} leider bleibt inder Bestätigungsemail das Bemerkungsfeld immer leer, sprich die Variable von der textarea wird nicht übergeben.

Ich habe dann versucht rauszufinden, wie ich Magento beibringen kann, dass er meine variable mitnimmt, jedoch ohne erfolg.

Hat einer nun eine Idee, wie ich meine Variable, also das Bemerkungsfeld in die Bestellemail ausgegeben bekomme?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Jaykay2k
Jr. Member
 
Total Posts:  3
Joined:  2008-11-13
 

Hallo,

also ich habe das ganze bis zu diesem Punkt hier zurückverfolgt:

/app/code/core/Mage/Sales/Model/Order.php

public function sendNewOrderEmail()
    
{
        $translate 
Mage::getSingleton('core/translate');
        
/* @var $translate Mage_Core_Model_Translate */
        
$translate->setTranslateInline(false);

        
$paymentBlock Mage::helper('payment')->getInfoBlock($this->getPayment())
            ->
setIsSecureMode(true);

        
$mailTemplate Mage::getModel('core/email_template');
        
/* @var $mailTemplate Mage_Core_Model_Email_Template */
        
$copyTo $this->_getEmails(self::XML_PATH_EMAIL_COPY_TO);
        
$copyMethod Mage::getStoreConfig(self::XML_PATH_EMAIL_COPY_METHOD$this->getStoreId());
        if (
$copyTo && $copyMethod == 'bcc'{
            
foreach ($copyTo as $email{
                $mailTemplate
->addBcc($email);
            
}
        }

        
if ($this->getCustomerIsGuest()) {
            $template 
Mage::getStoreConfig(self::XML_PATH_EMAIL_GUEST_TEMPLATE$this->getStoreId());
            
$customerName $this->getBillingAddress()->getName();
        
else {
            $template 
Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE$this->getStoreId());
            
$customerName $this->getCustomerName();
        
}

        $sendTo 
= array(
            array(
                
'email' => $this->getCustomerEmail(),
                
'name'  => $customerName
            
)
        );
        if (
$copyTo && $copyMethod == 'copy'{
            
foreach ($copyTo as $email{
                $sendTo[] 
= array(
                    
'email' => $email,
                    
'name'  => null
                
);
            
}
        }

        
foreach ($sendTo as $recipient{
            $mailTemplate
->setDesignConfig(array('area'=>'frontend''store'=>$this->getStoreId()))
                ->
sendTransactional(
                    
$template,
                    
Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY$this->getStoreId()),
                    
$recipient['email'],
                    
$recipient['name'],
                    array(
                        
'order'         => $this,
                        
'billing'       => $this->getBillingAddress(),
                        
'payment_html'  => $paymentBlock->toHtml(),
                    )
                );
        
}

        $translate
->setTranslateInline(true);

        return 
$this;
    
}

dann bei

foreach ($sendTo as $recipient{
            $mailTemplate
->setDesignConfig(array('area'=>'frontend''store'=>$this->getStoreId()))
                ->
sendTransactional(
                    
$template,
                    
Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY$this->getStoreId()),
                    
$recipient['email'],
                    
$recipient['name'],
                    
[b]array(
                        
'order'         => $this,
                        
'billing'       => $this->getBillingAddress(),
                        
'payment_html'  => $paymentBlock->toHtml(),
                    )
[/b]
                
);

da wird ja ein Array mit Variablen übergeben. Nur wenn ich da nun ein

'bemerkung' => $bemerkung,

hinzufüge, geht der ganze Bestellprozess nicht mehr.

 
Magento Community Magento Community
Magento Community
Magento Community
 
rack::SPEED
Guru
 
Avatar
Total Posts:  369
Joined:  2008-06-26
 

Müsste die Ausgabe nicht über {{order.message}} oder {{message}} erfolgen?! - Ich denke, dass hinzufügen der Bemerkung entfällt, da das array order ja schon übergeben wird....

 
Magento Community Magento Community
Magento Community
Magento Community
 
Jaykay2k
Jr. Member
 
Total Posts:  3
Joined:  2008-11-13
 

also ich habs damit schon versucht, funktioniert nicht.

 
Magento Community Magento Community
Magento Community
Magento Community
 
thE_iNviNciblE
Sr. Member
 
Avatar
Total Posts:  220
Joined:  2008-01-09
Oldenburg
 

mal bei zeile 697 geschaut /app/code/core/Mage/Sales/Model/Order.php dort wird gezeigt, wie die das gemacht haben, wenn ein bestellkommentar hinzugefügt wird. vielleicht kannst du das über die setState() funktion hinbekommen… *grübel*…

 
Magento Community Magento Community
Magento Community
Magento Community
 
julezz
Jr. Member
 
Total Posts:  15
Joined:  2008-12-10
 

Hallo Jaykay2k,

Wir möchten auch gerne ein Kommentarfeld in den Bestellvorgang integrieren.
Hattest du Erfolg? Wie hat es genau funktioniert?

LG,
julezz

 
Magento Community Magento Community
Magento Community
Magento Community
 
thE_iNviNciblE
Sr. Member
 
Avatar
Total Posts:  220
Joined:  2008-01-09
Oldenburg
 

könnte man nicht die Geschenknachricht benutzen ? wink

 
Magento Community Magento Community
Magento Community
Magento Community
 
ds_1984
Mentor
 
Avatar
Total Posts:  3116
Joined:  2008-12-09
Potsdam, Germany
 

Es gibt seit kurzem eine Extension für so etwas. Wir haben es bei uns implementiert & es klappt.

Wenn Ihr Hilfe braucht, dann mal laut schreien!  grin

Hier noch der Link zur Erweiterung: http://www.magentocommerce.com/extension/1036/customer-order-comment

Liebe Grüße - Daniel

 
Magento Community Magento Community
Magento Community
Magento Community
 
thE_iNviNciblE
Sr. Member
 
Avatar
Total Posts:  220
Joined:  2008-01-09
Oldenburg
 

Hi,

werde ich mal testen grin

 
Magento Community Magento Community
Magento Community
Magento Community
 
mr_jingles
Member
 
Avatar
Total Posts:  42
Joined:  2009-01-05
Leipzig
 

Ich habe mir ein Bemerkung zur Bestellung wie folgt hinzugefügt:
- in der Datenbank habe ich ein Feld gefunden “customer_note” -> bei diesem Vermute ich, dass es für solch eine Bemerkung vorgesehen ist
- eine entsprechende textarea habe ich mir auf der Bestellübersicht eingerichtet, so z.B.

<textarea name="customer_note" id="customer-note" rows="6"><?php echo $this->getCustomerNote() ?></textarea>
- dann den Wert beim absenden der Bestellung entsprechend entgegengenommen:
// Customer Note
if ($note $this->getRequest()->getPost('customer_note')) {
    $this
->_getQuote()->setCustomerNote($note);
}
- im Backend und auf den Mails wurde die Information automatisch verarbeitet und angezeigt..

Vielleicht konnte ich helfen..

Grüße,
mr_jingles

 
Magento Community Magento Community
Magento Community
Magento Community
 
albossum
Member
 
Total Posts:  55
Joined:  2009-03-17
 

hi

@mr_jingles

klingt ja einfach…

wo hast du das feld customer_note gefunden (tabelle?) und wo müssen die änderungen vorgenommen werden?

danke

gruß

albossum

 
Magento Community Magento Community
Magento Community
Magento Community
 
mr_jingles
Member
 
Avatar
Total Posts:  42
Joined:  2009-01-05
Leipzig
 

In der Tabelle `eav_entity_type` findest du unter der `enity_type_id` 11 den Typ “order”. Lässt du dir in der Tabelle `eav_attribute` alle zugehörigen Werte anzeigen, stößt du dort unter anderem auf die “customer_note”, welche vermutlich für diesen Zweck vorgesehen ist.

Gruß,
mr_jingles

 
Magento Community Magento Community
Magento Community
Magento Community
 
albossum
Member
 
Total Posts:  55
Joined:  2009-03-17
 

danke @mr_jingles

und in welchen dateien muss dein o.g. Code rein?

danke nochnmal

albossum

 
Magento Community Magento Community
Magento Community
Magento Community
 
mr_jingles
Member
 
Avatar
Total Posts:  42
Joined:  2009-01-05
Leipzig
 

Na die Textarea in das Template und das Speichern der Nachricht in den zugehörigen Controller.. Hängt halt auch von deinem Modul ab.

 
Magento Community Magento Community
Magento Community
Magento Community
 
albossum
Member
 
Total Posts:  55
Joined:  2009-03-17
 

danke nochmal…

steh aber grad auf´m schlauch mit den dateien… kannst du sagen in welche dateien (pfad/dateiname) du es eingebaut hast?

sorry, bin bei magento eher noch ein newbie…

gruß

albossum

 
Magento Community Magento Community
Magento Community
Magento Community
 
mr_jingles
Member
 
Avatar
Total Posts:  42
Joined:  2009-01-05
Leipzig
 

Für Multishipping:
Controller:

/app/code/core/Mage/Checkout/controllers/MultishippingController.php
Template:
/app/design/frontend/default/default/template/checkout/multishipping/overview.phtml

Du solltest jetzt natürlich nicht dort drin rummalen. Vielleicht beschäftigst du dich besser erstmal mit den Grundlagen der Modulentwicklung. Sich hier die Lösung präsentieren zu lassen, aber nicht wirklich Ahnung haben ist nicht der richtige Weg.

Viel Erfolg und frohe Ostern,
mr_jingles

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