Anleitung Kurzbeschreibung in die Bestell-Mail

Thema wurde von Steffen (indiv-style.de), 21. Februar 2014 erstellt.

  1. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    So, hier mal ne UPDATESSICHERE Lösung um die Kurzbeschreibung in die Mails zu bekommen!
    Geändert sind die Klassen orders und RecreateOrder. Letztere sorgt im Adminbereich dafür das man beim neugenerrieren der Bestellmail auch da die K-Desc drin hat!

    Den ZIP im Anhang entpacken und die beiden darin liegenden Ordner in /user_classes/overloads/ kopieren.
    Die im Anhang befindliche print_order-USERMOD.html in /templates/EyeCandy/module kopieren.

    in den Mailvorlagen das so plazieren wie es gefällt: {$order_values.PRODUCTS_DESCRIPTION}

    Fertsch! ;)

    desc_mail.jpg

    desc_mail2.jpg
     

    Anhänge:

    Zuletzt bearbeitet: 21. Februar 2014
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Hi Steffen,


    Ist das jetzt Pflicht oder Kundenservice? Ich suche auch noch nach einer Möglichkeit, die Kurzbeschreibung unter der normalen Beschreibung auf die Produktseite zu platzieren. Hast du einen Tipp wie ich deine Erweiterung anpassen kann?
     
  3. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Das ist keine Pflicht nur Kundenservice! Wenn du die KB unter die normale Desc haben willst musst du die ProductInfoContentView.inc.php anpassen.
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Hi Steffen,

    danke, ich glaube ich habe gerade Smarty gerafft endlich!! :)

    Wen es noch außer mir interessiert:

    0) FTP Datensicherung

    1) in der /system/views/product_info/ProductInfoContentView.inc.php eine neue Smarty Variable definieren, z. B. unter
    PHP:
    $this->set_content_data('PRODUCTS_DESCRIPTION', $gm_products_descrition);
    :

    PHP:
    $this->set_content_data('PRODUCTS_SHORTDESC',  $p_coo_product->data['products_short_description']);
    2) in der templates/EyeCandy/module/product_info/standard.html an der gewünschten Stelle die Variable einfügen:
    PHP:
    {if $PRODUCTS_SHORTDESC !=''}{$PRODUCTS_SHORTDESC}{/if}
    Optional: Die standard.html aus Schritt 2 speichern und uploaden als standard-USERMOD.html um sie updatesicher zu machen


    Steffen, und wenn das Ganze jetzt noch komplett updatesicher soll, müsste ich die Definition der Smarty Variable in eine gesonderte Datei in /user_classes/overloads/ProductInfoContentView/ packen? Wird die dann automatisch aufgerufen oder muss ich die irgendwie noch includen?
     
  5. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Genau! Aber es reich die get_html via parent zu überladen! Dann funzt dat prächtig....;)
     
  6. Anonymous

    Anonymous Erfahrener Benutzer

    Wo bekommt man denn eine Liste über alle Variablen zu Datenbankabfragen? Ist $p_coo_product->data für alle Produktdaten? Welche Tabellen werden denn alle abgefragt? products, products_description offenbar ja schonmal offenbar? manufacturers und products_images und products_to_categories auch?
     
  7. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Schmeis mal in deine standart.html gaaaaaaanz oben das rein: {debug}
    Dann siehste alles was übergeben wird.
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    DAS versteh ich schon wieder nicht :-/ Gibts da noch nen Link zum Nachlesen oder ein Code Beispiel?
     
  9. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

  10. Anonymous

    Anonymous Erfahrener Benutzer

    Ach krass! DAS ist ja mal hilfreich... DANKE
     
  11. andreasvolkmann

    andreasvolkmann Erfahrener Benutzer

    Habe jetzt einmal versucht, die Erweiterung einzubauen (in Testumgebung) - leider ohne Erfolg.

    Ich habe die Dateien entsprechend der Beschreibung in die Verzeichnisse kopiert und die Mailvorlage geändert.

    Caches sind geleert, aber weder bei neuen Bestellungen noch beim Neuerzeugen einer Bestätigung erscheint der Text aus der Kurzbeschreibung. Ist da noch irgendwo etwas einzustellen oder habe ich etwas vergessen? Shop ist Version 2.0.14.4

    Gruß, Andreas
     
  12. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Habs eben in eine 2.0.14.4 reingemacht! Läuft ohne Probleme!!!

    Was befindet sich bei dir im Ordner /user_classes/overloads/ ????
     
  13. andreasvolkmann

    andreasvolkmann Erfahrener Benutzer

    Hallo Steffen,

    im Ordner "overloads" ist der Order "_samples" (ab Werk) und deine beiden Ordner:
    Inhalt overloads.jpg
    Da sind deine beiden Dateien "is_order.inc.php" in "order" und "is_RecreateOrder.inc.php" in "RecreateOrder".

    Gruß, Andreas
     
  14. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    das hast du in die Mailvorlage eingefügt: {$order_values.PRODUCTS_DESCRIPTION} ???
    Beide Caches geleert??? (den ersten und zweiten)


    Hab es eben in noch eine neue 2.0.14.4 eingebaut! Auch hier kein Problem!
     
  15. andreasvolkmann

    andreasvolkmann Erfahrener Benutzer

    Mailvorlage:
    mailvorlage.jpg
    Cache:
    cache.jpg
    Ergebnis (Bestellbestätigung neu erzeugen):
    bestaetigung.jpg

    Ich weiß nicht, ob ich prüfen kann, ob die Überladung auch wirklich durchgeführt wird, d.h. ob der überladene Teil durchläuft.

    Gruß, Andreas
     
  16. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Due musst erst die Bestellbestätigung neu generrieren lassen!!! Oder du machst ne ganz neue Bestellung!
     
  17. andreasvolkmann

    andreasvolkmann Erfahrener Benutzer

    Beides probiert, beides ohne den Text aus der Kurzbeschreibung.

    Gruß, Andreas
     
  18. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Simpler Gewalttrick: Verursache in dem betreffenden Script einen "Syntax Error" ! :) Das System meldet sich dann schon. :)
     
  19. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Und der Artikel hat auch ne Kurzbeschreibung????
     
  20. andreasvolkmann

    andreasvolkmann Erfahrener Benutzer

    OK, folgender Schnipsel:
    Code:
                require(DIR_FS_CATALOG . 'gm/modules/gm_gprint_admin_gm_send_order.php');
                $decription = xtc_db_fetch_array(xtc_db_query("select products_short_description from products_description where products_id = '" . $t_order_data_values['products_id'] . "'  "));
    
                $t_order_data[] = array(
                    'PRODUCTS_MODEL'            => $t_order_data_values['products_model'],
                    'PRODUCTS_NAME'                => $t_order_data_values['products_name'],
                    'PRODUCTS_DESCRIPTION' => $decription['products_short_description'],
                    'PRODUCTS_ATTRIBUTES'        => $t_attributes_data,
                    'PRODUCTS_ATTRIBUTES_MODEL' => $t_attributes_model,
                    'PRODUCTS_SINGLE_PRICE'        => xtc_format_price_order(
                                                                            $t_order_data_values['final_price']/$t_order_data_values['products_quantity'],
                                                                            1,
                                                                            $t_order->info['currency']
                                                ),
                    'PRODUCTS_PRICE'            => xtc_format_price_order(
                                                                            $t_order_data_values['final_price'],
                                                                            1,
                                                                            $t_order->info['currency']
                                                ),
                    'PRODUCTS_QTY'                => gm_prepare_number($t_order_data_values['products_quantity'], ',')
                );print 'Test';
    
    bringt in der RecreateOrder als ersten Text ein "Test". Also wird der Teil aufgerufen. Verstehe bloß nicht, warum da
    Code:
    'PRODUCTS_DESCRIPTION' => $decription['products_short_description'],
    keine Daten kommen.

    Gruß, Andreas