Hallo, ich würde gerne meine Produkt Attribute nach meiner eigenen Sortierung anzeigen lassen jedoch bietet Gambio nicht diese möglichkeit von alleine. Ich habe im Admin und in der Datenbank das umgeschrieben,sodass ich ein eigenständiges Sorting bekomme. Wie bekomme ich die Attribute in dem Template aber sortiert ? In der "/Honeygrid/module/product_options/product_options_dropdown.html" steht folgendes {foreach name=outer item=options_data from=$options}...{foreach} gib es ne möglichkeit wie sowas ? {foreach name=outer item=options_data from=$options orderby=sort}...{foreach} wobei "sort" eine Tabelle in der DB ist. oder geht das ihrgend wie anders durch umcoden ? oder wo befindest sich die datei wo der Foreach zusammenstellt wird ? Danke im vorraus !
Diese Sortierung ist mir bekannt jedoch ist das nur die Sortierung der Attribut Optionen nicht der Attribute selbst. Die Sortierung der Attribute ist von Gambio nicht vorgesehen. Derzeit habe ich meine Sortierung selbst rein geschrieben (siehe bild - (Sort)). Das Klappt auch wie gewollt. Jedoch wird mein Sorting im Template nicht angezeigt weil die Sortierung nach der DB ID verläuft. {foreach name=outer item=options_data from=$options}...{foreach} durch diese "Foreach" abfrage kommt das Sorting nach ID und nicht nach meinen eigenem Sorting. In der datei "/system/classes/products/ProductAttributesContentView.inc.php" zeile 80-91 steht folgendes $t_query = 'SELECT DISTINCT popt.products_options_id, popt.products_options_name FROM ' . TABLE_PRODUCTS_OPTIONS . ' popt, ' . TABLE_PRODUCTS_ATTRIBUTES . ' patrib WHERE patrib.products_id = "' . $this->coo_product->data['products_id'] . '" AND patrib.options_id = popt.products_options_id AND popt.language_id = "' . $this->language_id . '" ORDER BY popt.products_options_id'; Wenn ich das ORDER BY in "popt.sort" ändere bekomme ich meine eigene Sortierung jedoch ist diese Variante nicht Update sicher. Ich würde gerne die Abfrage des Sortings in der "Foreach Funktion" unterbringen damit das Update Sicher wird. Gib es da eine möglichkeit ?
Natürlich könnte ich das einfach mit einer Kopie machen jedoch wäre das glaube nicht die richtige Variante. Es muss doch möglich sein entweder den Query des Foreach blocks zu ändern oder eine weiteres argument in den foreach block einzufügen wie z.b sortby=sort Wenn ich wüsste in welcher Datei der Foreach block zusammen gestellt wird könnte man evtl. schauen ob mann nicht ein weiteres argument an den Smarty block anfügen kann. so wie hier z.b. {foreach from=$users|@sortby:"lastName,firstName" item=user}
Ich meine keine Kopie der ganzen Datei, sondern das Du das Teilstück überlädst, das Du ändern möchtest. (Link nur für registrierte Nutzer sichtbar.) Die Anleitung ist schon älter, den Ordner user_classes gibt es nicht mehr, das wäre jetzt entweder GXUserComponents/overloads/ oder Du packst das ganze inkl der html-Dateien in GXModules
Hey, könntest du uns/mir den Code dafür mal veröffentlichen, und mitteilen welche Dateien du nun dazu angepackt und wo abgespeichert hast? Und, wie hast du dein "Sort" in die Attribut-Übersicht reinbekommen? Also so eher etwas für Semi-Dummies? ;-) Das wäre großartig! Vielen Dank und einen schöne Woche! NACHTRAG: eine Nicht-Updatesichere Möglichkeit ist die Datei ProductAttributesContentView.inc.php in Zeile 90 zu ändern: von: ORDER BY popt.products_options_name'; NAch ORDER BY popt.products_options_id'; Somit gibt es eine Reihenfolge, die sich nach der ID richtet, und die man mit dem Zeitpunkt der Erstellung dadurch beeinflussen kann. Grüße Roland