Shopversion ist die 3.7.1.1 Die product-USERMOD.html liegt im Verzeichnis "templates/Honeygrid/snippets/product_listing".
Und Du hast die beiden Dateien /product/ ean_product.inc.php und /productListingContentControl/ ean_ProductListingContentControl.inc.php im Verzeichnis GXUserComponents/ overloads/ ?
/product/ ean_product.inc.php liegt genau dort /productListingContentControl/ ean_ProductListingContentControl.inc.php von der Datei weiß ich nichts. Das stand auch nicht in deinem ersten Beitrag hier im Thread Wo kommt die denn her?
die habe ich für meine Extrafelder, ich teste mal, ob es ohne geht. Wenn nicht poste ich die gleich hier. In der Version 3.7.x muss das aber auch etwas anders in die html-Dateien geschrieben werden, wegen der neuen Blöcke. Da bin ich auch noch am testen
Ich glaube das es zur Zeit bei mir nur an dem Auslesen des Felde scheitert. Habe händisch hinter die {$PRODUCTS_EAN} im Template "Test" geschrieben und das wird mir ausgegeben. Aber die Extrafelder brauche ich ja eigentlich nicht, oder? Ich nutze ja ein Standardfeld, welches vorhanden ist.
Nein, brauchst Du nicht. Du brauchst auch nur die ean_productinc.php Die hat bei mir diesen Inhalt: PHP: <?phpclass extrafeld_product extends extrafeld_product_parent{ function buildDataArray(&$array, $image = 'thumbnail') { global $xtPrice, $main; $t_data_array=parent::buildDataArray($array, $image); //Additional info in $t_data_array $t_data_array['PRODUCTS_EAN']=$array['products_ean']; //Additional info in $t_data_array return $t_data_array; // EOF GM_MOD }function getAlsoPurchased() { // BOF YOOCHOOSE if(defined('YOOCHOOSE_ACTIVE') && YOOCHOOSE_ACTIVE) { require_once (DIR_FS_CATALOG . 'includes/yoochoose/recommendations.php'); require_once (DIR_FS_CATALOG . 'includes/yoochoose/functions.php'); return recommendData(getAlsoPurchasedStrategy(), $this->pID, MAX_DISPLAY_ALSO_PURCHASED); } // EOF YOOCHOOSE global $xtPrice; $module_content = array(); $t_query=parent::getAlsoPurchased(); $fsk_lock = ""; if($_SESSION['customers_status']['customers_fsk18_display'] == '0') { $fsk_lock = ' and p.products_fsk18!=1'; } $group_check = ""; if(GROUP_CHECK == 'true') { $group_check = " and p.group_permission_" . $_SESSION['customers_status']['customers_status_id'] . "=1 "; } // BOF GM_MOD: $t_query = "SELECT p.products_fsk18, p.products_id, p.products_price, p.products_tax_class_id, p.products_image, p.products_ean, pd.gm_alt_text, pd.products_name, pd.products_meta_description, p.products_vpe, p.products_vpe_status, p.products_vpe_value, pd.products_short_description FROM " . TABLE_ORDERS_PRODUCTS . " opa, " . TABLE_ORDERS_PRODUCTS . " opb, " . TABLE_ORDERS . " o, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE opa.products_id = '" . $this->pID . "' AND opa.orders_id = opb.orders_id AND opb.products_id != '" . $this->pID . "' AND opb.products_id = p.products_id AND opb.orders_id = o.orders_id AND p.products_status = '1' AND pd.language_id = '" . (int)$_SESSION['languages_id'] . "' AND opb.products_id = pd.products_id AND o.date_purchased > DATE_SUB(NOW(),INTERVAL " . MAX_DISPLAY_ALSO_PURCHASED_DAYS . " DAY) " . $group_check . " " . $fsk_lock . " GROUP BY p.products_id ORDER BY o.date_purchased desc LIMIT " . MAX_DISPLAY_ALSO_PURCHASED; $t_query = xtc_db_query($t_query); while($orders = xtc_db_fetch_array($t_query, true)) { $module_content[] = $this->buildDataArray($orders); } return $module_content; } function getCrossSells() { global $xtPrice; $t_query = "SELECT products_xsell_grp_name_id FROM " . TABLE_PRODUCTS_XSELL . " WHERE products_id = '" . $this->pID . "' GROUP BY products_xsell_grp_name_id"; $cs_groups = xtc_db_query($t_query); $cross_sell_data = array(); if(xtc_db_num_rows($cs_groups, true) > 0) { while($cross_sells = xtc_db_fetch_array($cs_groups, true)) { $fsk_lock = ''; if($_SESSION['customers_status']['customers_fsk18_display'] == '0') { $fsk_lock = ' AND p.products_fsk18!=1'; } $group_check = ""; if(GROUP_CHECK == 'true') { $group_check = " AND p.group_permission_" . $_SESSION['customers_status']['customers_status_id'] . "=1 "; } // BOF GM_MOD: $cross_query = " SELECT p.products_fsk18, p.products_tax_class_id, p.products_id, p.products_image, pd.products_name, p.products_ean, pd.products_short_description, pd.products_meta_description, p.products_fsk18, p.products_price, pd.gm_alt_text, p.products_vpe, p.products_vpe_status, p.products_vpe_value, xp.sort_order FROM " . TABLE_PRODUCTS_XSELL . " xp, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE xp.products_id = '" . $this->pID . "' AND xp.xsell_id = p.products_id " . $fsk_lock . $group_check . " AND p.products_id = pd.products_id AND xp.products_xsell_grp_name_id='" . $cross_sells['products_xsell_grp_name_id'] . "' AND pd.language_id = '" . (int)$_SESSION['languages_id'] . "' AND p.products_status = '1' ORDER BY xp.sort_order ASC"; $cross_query = xtDBquery($cross_query); if(xtc_db_num_rows($cross_query, true) > 0) { $cross_sell_data[0][] = array('GROUP' => xtc_get_cross_sell_name($cross_sells['products_xsell_grp_name_id']), 'PRODUCTS' => array()); } while($xsell = xtc_db_fetch_array($cross_query, true)) { $cross_sell_data[0]['PRODUCTS'][] = $this->buildDataArray($xsell); } } return $cross_sell_data; } } function getReverseCrossSells() { global $xtPrice; $fsk_lock = ''; if($_SESSION['customers_status']['customers_fsk18_display'] == '0') { $fsk_lock = ' and p.products_fsk18!=1'; } $group_check = ""; if(GROUP_CHECK == 'true') { $group_check = " and p.group_permission_" . $_SESSION['customers_status']['customers_status_id'] . "=1 "; } // BOF GM_MOD: $t_query = "SELECT p.products_fsk18, p.products_tax_class_id, p.products_id, p.products_image, p.products_ean, pd.products_name, pd.products_short_description, pd.products_meta_description, p.products_fsk18, p.products_price, pd.gm_alt_text, p.products_vpe, p.products_vpe_status, p.products_vpe_value, xp.sort_order FROM " . TABLE_PRODUCTS_XSELL . " xp, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE xp.xsell_id = '" . $this->pID . "' AND xp.products_id = p.products_id " . $fsk_lock . $group_check . " AND p.products_id = pd.products_id AND pd.language_id = '" . (int)$_SESSION['languages_id'] . "' AND p.products_status = '1' ORDER BY xp.sort_order ASC"; $cross_query = xtc_db_query($t_query); while($xsell = xtc_db_fetch_array($cross_query, true)) { $cross_sell_data[] = $this->buildDataArray($xsell); } return $cross_sell_data; } }?> Und das funktioniert.
Top! Danke nun funktioniert es Was muss ich denn noch ergänzen, damit es auch in den Suchergebnissen angezeigt wird? Also auf der /advanced_search_result.php
Da muss ich mal suchen. Meine anderen Extrafelder und die Artikelnummer werden bei mir auch in den Suchergebnissen angezeigt. Die EAN will gerade noch nicht. Ich muss aber erstmal meine ganzen Anpassungen prüfen, irgendetwas zerschießt mir im Testshop noch die Seiten.
Na das beruhigt ja schon mal ein wenig, wenn es bei dir auch nicht funktioniert Ich versteh leider noch nicht ganz die Zusammenhänge welche Datei an welcher Stelle wie was macht sonst würd ich ja selber mal gucken
Hallo Barbara, ich habe nach deiner Anleitung oben versucht die Artikelnummer in den Kacheln anzuzeigen. Leider sehe ich keine Änderung, auch wenn ich testweise die Original-Dateien angepasst habe. Der Cache ist immer geleert. Ich habe es mit Chrome und Firefox getestet. Mir scheint, dass jegliche Änderung (z.B. ein einfaches <p>test</p>) nicht erkannt wird. Die Shop ist neu und gerade im Aufbau mit Shopversion ist die 3.9.3.1 Hast du vielleicht eine Idee?! Viele Grüße Claudia
@barbara: templates\Honeygrid\snippets\product_listing @Dominic: Sonst hast Du nichts angepasst? Da fehlen aus dem Bauch heraus noch mind. 2 Dateien!
Ich teste das gleich noch mal in einem neuen 3.10. - Shop und schreibe hier, was man wo einfügen muss, um die Artikelnummer angezeigt zu bekommen.
Den angehängten Ordner entpacken. Den ganzen Ordner "BIS" so wie er ist in den Ordner GXModules laden. Cache leeren. Die Artikelnummer sollte jetzt in der Kachel und in der Listenansicht jeweils über dem Artikelnamen angezeigt werden. Getestet in der Version 3.10.0
Hallo Barbara, einfach super! Das Ding hatte ich schon seit einer Weile haben wollen, aber selbst der Support konnte mir nicht weiterhelfen. Hab's eingebaut und es läuft. Für Kunden wie Admin schafft es mehr Übersicht.
Wenn wir schon dabei sind Gibt es nicht auch so etwas ähnliches für eine vierte Zeile der Artikelüberschrift in der Kachel? Ich finde es schade wenn die wichtigsten Infos in dem Titel einfach abgehackt werden, nebenbei sieht es blöde aus. In der Kachel wäre reichlich Platz.
Geht das nur durch Kachelvergrößerung oder kann man da gezielt eine weitere Zeile hinzufügen, bei gleicher Größe? Platz ist mehr als reichlich in der Kachel.
Nee, gar nicht soviel. Das einzig fixe in der Höhe ist ansich die Preisbox. Bildhöhe und Artikelnamenhöhe lassen sich einstellen. Die feste Höhe der Preisbox enthält reservierten Platz für Angebotspreise der mal weiss bleiben kann, das zu reservieren hat aber den grossen Vorteil zueinander allzeit bündiger Preise, das sprang früher und wirkte sehr unruhig.
Bei mir im Testshop ist da nichts mehr bündig Liegt aber vermutlich daran, dass ich es vorher (in Version 3.8) bündig hatte.