Hallo, es gibt immer wieder Anfragen, wie man die EAN in der Artikel-Info-Seite unter der Artikelnumme anzeigen lassen kann. Hier ist eine kleine Anleitung für die Shopversion 3.0 / 3.1 Zunächst muss man der die EAN zur Verfügung stellen, dazu dazu im Verzeichnis user_classes/ overloads/ bzw ab Version 3.1 GXUserComponents/ overlaods/ einen Ordner ProductInfoContentView anlegen. in dem Ordner eine Datei ean_ProductInfoContentView.inc.php anlegen, mit folgendem Inhalt: PHP: <?phpclass ean_ProductInfoContentView extends ean_ProductInfoContentView_parent{ function _assignProductData() { $this->_assignEan(); return parent::_assignProductData(); } // assign new fields public function _assignEan() { $this->set_content_data('PRODUCTS_EAN', $this->product->data['products_ean']); }} Nun kommt die Ausgabe, dazu bitte in templates/ honeygrid/ snippets/ product_info/ eine Datei ean.html erstelle, mit diesem Inhalt: HTML: {if $PRODUCTS_EAN || $SHOW_PRODUCTS_EAN} <dt class="col-xs-4 text-left"> {$txt.text_ean} </dt> <dd class="col-xs-8"> <span class="products-ean-value"> {$PRODUCTS_EAN} </span> </dd> {/if} und in der Datei templates/ Honeygrid/ module/ product_info/ standard-USERMOD.html (wer noch keine hat, die standard.html kopieren und als standard-USERMOD.html neben der originalen Datei speichern) suchen nach: HTML: <dl class="dl-horizontal"> {include file="get_usermod:{$tpl_path}snippets/product_info/model.html"} und darunter einfügen: HTML: {include file="get_usermod:{$tpl_path}snippets/product_info/ean.html"} Damit auch die Variable aufgelöst wird, muss noch eine Sprachdatei angelegt bzw. geändert werden: im Verzeichnis lang/ german/ user_sections/ einen Ordner "products" anlegen und darin eine Datei product_info.lang.inc.php mit diesem Inhalt: Code: <?php /* -------------------------------------------------------------- product_info.lang.inc.php 2015-01-02 gm Gambio GmbH http://www.gambio.de Copyright (c) 2015 Gambio GmbH Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] -------------------------------------------------------------- */ $t_language_text_section_content_array = array ( 'text_ean' => 'EAN-Nummer:', ); Entsprechende Dateien müssen auch für alle anderen genutzten Sprachen angelegt werden. Danach die Cache für Seiten, Module und Texte leeren. Wer das für MPN braucht, muss nur das EAN austauschen. Alle Ordner-Namen und Dateinamen müssen natürlich ohne ein "" geschreiben werden. Wie immer git: Keine Garantie, Einbau auf eigene Gefahr.
@barbara Sollte nicht die standard.html im Verzeichnis templates/ Honeygrid/ module/ product_info/ verändert und als standard-USERMOD.html gespeichert werden?
Hallo Jan, ich wollte nur sehen ob Ihr aufpasst Danke für den Hinweis, wird gleich in der Anleitung geändert.
Hallo, sobald ich die erste Datei anlege (ean_ProductInfcontentView.ink.php), bekomme ich folgende Fehlermeldung (Shop Version: 3.1.1.0): FATAL ERROR(1): "Class 'ean_ProductInfoContentView_parent' not found"Information: <br /> <b>Fatal error</b>: Class 'ean_ProductInfoContentView_parent' not found in <b>/var/www/vhosts/domain.de/httpdocs/GXUserComponents/overloads/ProductInfoContentView/ean_ProductInfcontentView.inc.php</b> on line <b>4</b><br />
Sorry, da hat sich ein Schreibfehler eingeschlichen. Die Datei muss ean_ProductInfoContentView.ink.php heißen. Ich verbessere das oben gleich mal. Vielleicht sollte ich die Dateien als ZIP anhängen so, hier sind die Dateien. Bitte auf die richtige Version achten. Wer bereits eine standard-USERMOD.html hat, muss die Änderung in der Datei manuell übertragen, da sonst die anderen Anpassungen weg sind.
da ist aber noch ein Fehler das ean_ProductInfoContentView.ink.php muss so ean_ProductInfoContentView.inc.php
noch was, prüfe das mal, ich glaube die ean_ProductInfoContentView.inc.php braucht man nicht mehr, das ist jetzt bereits hinterlegt
und in der Textdatei ist das Komma nach 'EAN-Nummer:' zu viel Code: $t_language_text_section_content_array = array ( 'text_ean' => 'EAN-Nummer:', ); Müsste so sein Code: $t_language_text_section_content_array = array ( 'text_ean' => 'EAN-Nummer:' ); Das Komma braucht man nur wenn mehrere Texte drin sind, und beim letzten muss das so wie so weg. Aber vielleicht geht es ja auch mit.
Ich habe in den Artikeldaten ein Zusatzfeld mit dem Namen "EAN" angelegt und kopiere da die jeweilige Nummer rein. Ist das nicht weniger Arbeit?
Zunächst mal ein Dickes Danke an Kai, ich werde das nachher mal Testen. @altersack Wenn Du das von anfang an machst ist ein 2. Eintragen einfach. Hast Du aber so eine Anpassung in der Shopversion 2.0 gehabt (da gab es die Felder noch nciht) müsstest Du jetzt alle Artikel überarbeiten. Da ist eine neue Anpassung für die Ausgabe einfacher.
Das leuchtet ein. Für einige Tausend Artikel möchte ich das nicht manuell machen müssen. Ich hab blos einige Hundert von denen auch nicht alle eine EAN haben.
O.K. für die EAN braucht man tatsächlich nur die Sprachdatei und die beiden Template-Dateien. Die ..../overloads/ ProductInfoContentview/ braucht man nicht. Das Komma in der Sprachdatei stört nicht. Die MPN schaue ich mir eben an. Nachtrag: die MPn funktioniert so nicht, das müsste ich mir noch mal in Ruhe ansehen.