Hallo Thomas,
aus Tagen wurden Wochen ...
sorry
Die zusätzlichen Infos müssen in der Datenbank in die Warenkorb-Tabelle geschrieben werden. Dazu legst Du in der Tabelle "randshop_warenkorb" ein neues Feld an. Wir nennen es "mod_zusatzangaben" und verwenden die Bezeichnung auch als Key und Selector. So sollte es nicht zu Konflikten mit anderen Variablen kommen. In dieser Beschreibung gehe ich davon aus, dass "randshop_" als Tabellenpräfix verwendet wird, ansonsten musst Du das eigene Präfix verwenden.
Nun aber los:
In phpMyAdmin die Tabelle "randshop_warenkorb" auswählen, im Tab "Struktur" unterhalb der Felder-Liste den "Nach"-Button klicken und in dem Dropdown "artikel_name" auswählen (technisch gesehen, ist die Position nicht wichtig, aber der Ordnung halber passt es hier ganz gut). Dann auf "OK".
- phpMyAdmin
- Bildschirmfoto 2013-09-11 um 17.31.15.png (20.91 KiB) 16419-mal betrachtet
Nun werden die Einstelungen für das Feld vorgenommen:
- phpMyAdmin 2
- Bildschirmfoto 2013-09-11 um 17.34.14.png (30.35 KiB) 16419-mal betrachtet
Feld: mod_zusatzangaben
Typ: TEXT
Kollation: utf8_general_ci
Der Rest bleibt leer, bzw. unverändert.
Dann auf "Speichern". Fertig!
Alternativ kannst Du auch im SQL-Tab diese Zeile ausführen:
- Code: Alles auswählen
ALTER TABLE `randshop_warenkorb` ADD `mod_zusatzangaben` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `artikel_name`
Jetzt müssen ein paar Dateien angepasst werden.
includes/functions.warenkorb.inc.phpIn dem Block "// Warenkorb eintragen" ab ca. Zeile 353 nach
$SQLString .= TABLE_WARENKORB . ".artikel_name = '" . $ArtikelObject->artikel_name . "', "; in einer neuen Zeile das hier einfügen:
- Code: Alles auswählen
$SQLString .= TABLE_WARENKORB . ".mod_zusatzangaben = '" . $ArtikelObject->kurz_beschreibung . "', ";
Anstelle von kurz_beschreibung können natürlich auch andere Werte aus $ArtikelObjekt verwendet oder mehrere zusammengefügt werden.
Artikel, die ab jetzt neu in den Warenkorb gelegt werden, enthalten in der Warenkorb-Tabelle bereits die Kurzbeschreibung.
In dem Block "// Warenkorb einlesen" ab ca. Zeile 603 nach
$SQLString .= TABLE_WARENKORB . ".artikel_name, "; in einer neuen Zeile das hier einfügen:
- Code: Alles auswählen
$SQLString .= TABLE_WARENKORB . ".mod_zusatzangaben, ";
includes/functions.mail.inc.phpIn dem Block "// Warenkorb" ab ca. Zeile 440 nach
$PostArray["tpl_warenkorbarray[" . $Warenkorkey . "][artikel_name]"] = $Warenkorbdata["artikel_name"]; in einer neuen Zeile das hier einfügen:
- Code: Alles auswählen
$PostArray["tpl_warenkorbarray[" . $Warenkorkey . "][mod_zusatzangaben]"] = $Warenkorbdata["mod_zusatzangaben"];
Nun geht's in den Templates weiter
templates/[Dein Template]/dokumente/auftragsbestaetigung.tplZeile 90
<?php echo $tpl_warenkorb["artikel_name"]?> <?php echo $tpl_warenkorb["variante1"]?> <?php echo $tpl_warenkorb["variante2"]?> <?php echo $tpl_warenkorb["variante3"]?> <?php echo $tpl_warenkorb["variante4"]?>ersetzen mit
- Code: Alles auswählen
<?php echo $tpl_warenkorb["artikel_name"]?><br /><?php echo $tpl_warenkorb["mod_zusatzangaben"]?> <br /> <?php echo $tpl_warenkorb["variante1"]?> <?php echo $tpl_warenkorb["variante2"]?> <?php echo $tpl_warenkorb["variante3"]?> <?php echo $tpl_warenkorb["variante4"]?>
templates/[Dein Template]/mail_html/faktura/bestelleingang_kunde.phpZeile 101
<?php echo $tpl_warenkorb["artikel_name"]?> <?php echo $tpl_warenkorb["variante1"]?> <?php echo $tpl_warenkorb["variante2"]?> <?php echo $tpl_warenkorb["variante3"]?> <?php echo $tpl_warenkorb["variante4"]?><br />ersetzen mit
- Code: Alles auswählen
<?php echo $tpl_warenkorb["artikel_name"]?> <br /><?php echo $tpl_warenkorb["mod_zusatzangaben"]?> <br /><?php echo $tpl_warenkorb["variante1"]?> <?php echo $tpl_warenkorb["variante2"]?> <?php echo $tpl_warenkorb["variante3"]?> <?php echo $tpl_warenkorb["variante4"]?>
templates/[Dein Template]/mail_html/faktura/bestelleingang_shopbetreiber.phpZeile 96
<?php echo $tpl_warenkorb["artikel_name"]?> <?php echo $tpl_warenkorb["variante1"]?> <?php echo $tpl_warenkorb["variante2"]?> <?php echo $tpl_warenkorb["variante3"]?> <?php echo $tpl_warenkorb["variante4"]?><br />ersetzen mit
- Code: Alles auswählen
<?php echo $tpl_warenkorb["artikel_name"]?> <br /><?php echo $tpl_warenkorb["mod_zusatzangaben"]?> <br /><?php echo $tpl_warenkorb["variante1"]?> <?php echo $tpl_warenkorb["variante2"]?> <?php echo $tpl_warenkorb["variante3"]?> <?php echo $tpl_warenkorb["variante4"]?>
templates/[Dein Template]/mail_text/faktura/bestelleingang_kunde.phpAn der gewünschten Stelle, wo der String mit den Artikeldaten zusammengebaut wird (ca. Zeile 53)
- Code: Alles auswählen
$tpl_warenkorb["mod_zusatzangaben"]
einfügen.
templates/[Dein Template]/mail_text/faktura/bestelleingang_shopbetreiber.phpAn der gewünschten Stelle, wo der String mit den Artikeldaten zusammengebaut wird (ca. Zeile 51)
- Code: Alles auswählen
$tpl_warenkorb["mod_zusatzangaben"]
einfügen.
Ich habe hier bei den Text-Mails nicht die ganze Zeile reinkopiert, weil ich mir nicht sicher bin, ob ich die irgendwann mal auf meinem lokalen Test-Shop so vermurkst habe. Jedenfalls sahen die Mails (auch ohne Zusatzangaben) bei mir ziemlich schlimm aus.
templates/[Dein Template]/website/bestellen/bestelluebersicht.tplZeile 147
<td><?php echo $tpl_warenkorbarray["artikel_name"]?> <?php echo $tpl_warenkorbarray["variante1"]?> <?php echo $tpl_warenkorbarray["variante2"]?> <?php echo $tpl_warenkorbarray["variante3"]?> <?php echo $tpl_warenkorbarray["variante4"]?> <?php echo $tpl_warenkorbarray["voe_datum_format"]?></td>ersetzen mit
- Code: Alles auswählen
<td><strong><?php echo $tpl_warenkorbarray["artikel_name"]?></strong> <br /><span class="mod_zusatzangaben"><?php echo $tpl_warenkorbarray["mod_zusatzangaben"]?></span> <br /><?php echo $tpl_warenkorbarray["variante1"]?> <?php echo $tpl_warenkorbarray["variante2"]?> <?php echo $tpl_warenkorbarray["variante3"]?> <?php echo $tpl_warenkorbarray["variante4"]?> <?php echo $tpl_warenkorbarray["voe_datum_format"]?></td>
Hier habe ich die Zusatzangaben in einen span mit der Klasse mod_zusatzangaben gesetzt, um die Größe per CSS einstellen zu können.
templates/[Dein Template]/website/user/bestelldetail.tplZeile 59
<td><?php echo $tpl_warenkorb["artikel_name"]?> <?php echo $tpl_warenkorb["variante1"]?> <?php echo $tpl_warenkorb["variante2"]?> <?php echo $tpl_warenkorb["variante3"]?> <?php echo $tpl_warenkorb["variante4"]?></td>ersetzen mit
- Code: Alles auswählen
<td><?php echo $tpl_warenkorb["artikel_name"]?> <?php echo $tpl_warenkorb["mod_zusatzangaben"]?> <?php echo $tpl_warenkorb["variante1"]?> <?php echo $tpl_warenkorb["variante2"]?> <?php echo $tpl_warenkorb["variante3"]?> <?php echo $tpl_warenkorb["variante4"]?></td>
templates/[Dein Template]/website/warenkorb/warenkorb.tplZeile 15
<td><a href="<?php echo URLPFAD?>themes/kategorie/detail.php?artikelid=<?php echo $tpl_warenkorbarray["artikel_id"]?>&refertype=<?php echo $tpl_refertype?>"><?php echo $tpl_warenkorbarray["artikel_name"]?></a> <?php echo $tpl_warenkorbarray["variante1"]?> <?php echo $tpl_warenkorbarray["variante2"]?> <?php echo $tpl_warenkorbarray["variante3"]?> <?php echo $tpl_warenkorbarray["variante4"]?><?php echo $tpl_warenkorbarray["voe_datum_format"]?></td>ersetzen mit
- Code: Alles auswählen
<td><a href="<?php echo URLPFAD?>themes/kategorie/detail.php?artikelid=<?php echo $tpl_warenkorbarray["artikel_id"]?>&refertype=<?php echo $tpl_refertype?>"><?php echo $tpl_warenkorbarray["artikel_name"]?></a><br /><?php echo $tpl_warenkorbarray["mod_zusatzangaben"]?><br /><?php echo $tpl_warenkorbarray["variante1"]?><br /><?php echo $tpl_warenkorbarray["variante2"]?><br /><?php echo $tpl_warenkorbarray["variante3"]?><br /><?php echo $tpl_warenkorbarray["variante4"]?><?php echo $tpl_warenkorbarray["voe_datum_format"]?></td>
Gutes Gelingen - und vorher sichern nicht vergessen
Viele Grüße
Martin