die werden in der Datenbank in der Tabelle PRODUCTS gespeichert und erzeugt werden die im Adminbereicht --> Artikel/Kategorien --> Artikel bearbeiten. Wenn ich den ganzen original Code eingebe, dann platziere ich den Code auf zwei Stellen: PHP: $t_products_model = $p_products_array[$i]['model']; // BOF CP $t_products_inhalt = $p_products_array[$i]['inhalt']; // EOF CP PHP: $module_content[$i] = array( 'PRODUCTS_NAME' => $p_products_array[$i]['name'] . $mark_stock, 'PRODUCTS_QTY' => xtc_draw_input_field('cart_quantity[]', gm_convert_qty($p_products_array[$i]['quantity'], false), ' size="2" onblur="gm_qty_is_changed(' . $p_products_array[$i]['quantity'] . ', this.value, \'' . GM_QTY_CHANGED_MESSAGE . '\')"', 'text', true, "gm_cart_data gm_class_input") . xtc_draw_hidden_field('products_id[]', $p_products_array[$i]['id'], 'class="gm_cart_data"') . xtc_draw_hidden_field('old_qty[]', $p_products_array[$i]['quantity']),......'PRODUCTS_INHALT' => $t_products_inhalt,......'PRODUCTS_ID' => $gm_products_id, 'UNIT' => $p_products_array[$i]['unit_name'] );
Ich habe den Fehler gefunden. dein Code: PHP: <?phpclass mx_OrderDetailsCartContentView extends mx_OrderDetailsCartContentView_parent{ function get_html($p_products_array) { //Save $p_products_array for build_html $this->p_products_array=$p_products_array; return parent::get_html($p_products_array); } function build_html() { //Get $module_content prepared by "get_html" so far $module_content=$this->get_content_array(); $module_content=$module_content['module_content']; //Loop over saved products array and add my data to the $module_content entries foreach ($this->p_products_array as $index=>$product) { $module_content[$index]['PRODUCTS_INHALT']=$product['products_inhalt']; } //Save new $module_content entries $this->set_content_data('module_content', $module_content); return parent::build_html(); }}?> Nun, entfernt man das Wort "products" von $products['products_inhalt'], also: PHP: { $module_content[$index]['PRODUCTS_INHALT']=$product['inhalt']; } dann funktioniert es.
Na prima. Hätte mich sonst auch gewundert.... Sieht doch jetzt sehr viel hübscher aus, als das Codegrab bisher.... Und updatesicher ist das auch. So geht Overloading! Aber Gambio muss einfach mehr "Hooks" vorsehen, damit man, gerade in Loops für die Datengenerierung, innerhalb des Loops seine eigenen Daten einfach in Overload-Methoden einbringen kann.
dann suche mal unter shop-ordner/includes/classes/product.php P.S: Denk daran, dass diese Datei ist überladbar und dadurch ein Stück Updatessicher. Anleitung auch in diesem Thred
Hi Cyrus, danke für den "Hinweis" Wenn ich die Änderungen direkt in die "product.php" einfüge, kann ich im Bereich Admin->Artikel/Kategorien Artikeländerungen speichern. Wenn ich die Updatesichere "cp_product.inc.php" im Verzeichnis /user_classes/overloads/product/ ablege, zeigt der Shop keine Bilder mehr an. Entferne ich die "cp_product.inc.php" wieder, werden die Bilder ganz normal angezeigt. (Habe die Imagefunktion von Avenger eingebaut "On the Fly Image") In der "cp_product.inc.php" steht folgender Code: PHP: <?phpclass cp_product extends cp_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_UVP']=$array['products_uvp']; //Additional info in $t_data_array return $t_data_array; }}?> hast Du vieleicht eine Idee woran das liegen kann ... Gruß Michael
hast du auch in user_classes/overloads/OrderDetailsCartContentView.inc.php? wenn ja, was hast du da im Code? Und wo soll dieser Extra-Feld gezeigt werden? Übrigens das Problem habe ich nicht. Vieleicht hast du in HTML-Datei was falsch eingegeben?
Nein die "user_classes/overloads/OrderDetailsCartContentView.inc.php" habe ich noch nicht eingebaut. Das Extrafeld soll "überall" angezeigt werden (Kategorien/Artikelübersicht (Listen- und Kachelansicht), Artikel Detailansicht, Startseite, Angebote etc.) Gruß Michael P.S.: in der Kategorie Listen- und Kachelansicht wird der Wert aus dem Extrafeld auch nicht gezogen...
Da bin ich Ratlos ich gehe davon aus, dass du schon die Extra-Felder in deinem Artikel-Bearbeitung eingebaut hast? Damit das Ganze funktioniert, solltest du den ganzen Thread durch gehen und Schritt für Schritt alles einbauen. Hierfür solltest du auch unter:http://www.gambio-forum.de/threads/...llen-unter-Artikelnamen?highlight=extrafelder reinschauen. Viel Erfolg
Ich muss auch nochmal anfangen Erst hatte ich die Anzeige in der Listen / Kachelansicht in den Kategorien und auf der Startseite; aber nicht bei Cross-Selling oder bei "Kunden kauften auch". Jetzt habe ich die Anzeige auf der Startseite und im Cross-Selling sowie bei "Kunden kauften auch", aber nicht mehr in den Kategorien.
Ja, genau. So sieht das auf der Starseite aus: So bei Ebenfalls gekauft: Und wenn ich die Kategorie aufrufe ist es so: Seltsamer weise wird die Artikelnummer die ich gleichzeitig eingebaut habe angezeigt,
Ich vermute einen Fehler in der system/ classes/ listing/ ProductListingContentControl.inc.php bzw. in dem Overload. Das werde ich mir nochmal genauer ansehen.
Ich bin nochmal weiter. Wenn ich diesen Code (Link nur für registrierte Nutzer sichtbar.) in einer usr_classes/ overload schreibe, habe ich die Anzeige in der Kategorie, aber es werden in der 1. Kategorie nicht die Artikel der Unterkategorie angezeigt. Nachtrag: es liegt an dieser Zeile: public function extend_proceed($p_action) Nachtrag 2: ich bekomme die Anzeige der Extrafelder nicht, wenn ich die originale Datei bearbeite. Kann doch eigentlich nicht sein.
Meinst du damit die Artikel der Unterkategorie zeigen keine Extrafelder? Wenn ja, dann hast du was falsch eingegeben, da ich nur mit Unterkategorien arbeite und keine Artikel in der Kategorie oberste Stufe habe. Diese hier ist die kategorie Gewürze, die ist eine Unterkategorie der Kategorie Produkte. Allerdings ich habe keine Kachelansicht.
Hallo Cyrus, Ich erkläre das mal an einem Beispiel: Es gibt die Kategorie "Reduzierte Artikel" und darin die beiden Unterkategorien "Restposten" und "B-Ware" Öffne ich "Reduzierte Artikel" sehe Ich die beiden Unterkategorien und die Artikel aus den Unterkategorien. Wenn ich jetzt die system/ classes/ listing/ ProductListingContentControl.inc.php überlade, dann ist in "Reduzierte Artikel" die Anzeige der Artikel aus den Unterkategorien weg. Rufe ich aber die Unterkategorie "Restposten" auf, ist alles richtig mit Extrafeldern. Ich löse da jetzt ganz einfach, indem ich einige Artikel in die obere Kategorie verlinke. Dann ist die Seite nicht so leer und ich kann das ein bisschen steuern
Ich habe es mit der Datei: user_classes/ overloads/ ProductListingContentControl/ extrafeld_ProductListingContentControl.inc.php Der Filter funktioniert mit der Datei auch nicht. Das habe ich gerade in einem frischen Shop Version 2.2.0 getestet (ohne die Zeile p.products_inhalt) Dank Cyros sieht die Datei jetzt so aus: Code: <?php class extrafeld_ProductListingContentControl extends extrafeld_ProductListingContentControl_parent { public function extend_proceed($p_action) { $t_uninitialized_array = $this->get_uninitialized_variables(array( 'current_category_id', 'customer_country_id', 'customer_zone_id', 'customers_fsk18_display', 'customers_status_id', 'languages_id', 'show_price_tax', )); $this->sql_query = "SELECT DISTINCT p.products_fsk18, p.products_shippingtime, p.products_model, p.products_inhalt, p.products_ean, pd.products_name, m.manufacturers_name, p.products_quantity, p.products_image, p.products_image_w, p.products_image_h, p.products_weight, p.gm_show_weight, pd.products_short_description, pd.products_description, pd.gm_alt_text, pd.products_meta_description, p.products_id, p.manufacturers_id, p.products_price, p.products_vpe, p.products_vpe_status, p.products_vpe_value, p.products_discount_allowed, p.products_tax_class_id " . $t_select_part . " FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_PRODUCTS_DESCRIPTION . " AS pd ON (pd.products_id = p.products_id) LEFT JOIN " . TABLE_PRODUCTS_TO_CATEGORIES . " AS ptc ON (ptc.products_id = p.products_id) LEFT JOIN " . TABLE_MANUFACTURERS . " AS m ON (m.manufacturers_id = p.manufacturers_id) LEFT JOIN " . TABLE_SPECIALS . " AS s ON (s.products_id = p.products_id) " . $t_from_part . " WHERE p.products_status = 1 AND pd.language_id = '" . $this->languages_id . "' AND ptc.categories_id = '" . $this->current_category_id . "' " . $t_where_part . " " . $t_group_check . " " . $t_fsk_lock . " " . $t_sorting; return $t_uninitialized_array; } } ?> Hat jemand eine Idee woran das liegen könnte, bzw. wie man "p.products_inhalt" anders einfügt?
Hi, anbei findest du einen Overload "der eigentlich funktionieren müsste" von einem netten Kollegen... Ich selber kenne den Overload nicht und kann daher leider keinen Support leisten. PS: War wohl doch ein Bug drin. Soeben eine neue Version hochgeladen.
Hallo Timo, ich habe die Datei soeben getestet. Es funktioniert leider nicht. Es meldet "USER ERROR (256), SQL Error".