uli1964 Posted March 5, 2007 Report Share Posted March 5, 2007 Hallo, ich habe inzwischen über 200 Attribute angelegt. Wenn ich von einem Artikel die Attribute bearbeiten möchte, ist diese Liste zwar nach product_options gruppiert, aber die Sortierung der product_options_values geht nach deren ID. Bei über 200 attributen ist das eine mühsame Suche. Besser wäre eine Sortierung nach den Namen (z.B. Farben: blau, braun, gelb, rot, weiß.) Meine Frage: Wie kann ich das ändern? Ich denke, da muss in der product_attributes.php eine Sortierabfrage gestartet werden. Nur wo genau muss ich was einfügen? Wäre echt super, wenn da jemand nen Tipp hat. Link to comment Share on other sites More sharing options...
buero-design Posted March 5, 2007 Report Share Posted March 5, 2007 Hallo Uli1964, da musst Du in der admin/includes/modules/new_attributes_include.php die Abfrage für $query2 anpassen. Da muss die products_option_value Tabelle eingebunden werden um nach den Namen zu sortieren. Oder - wenn's wirklich vernünftig sein soll - Du fasst gleich die Abfrage $query2 und $query3 zusammen... Ben Link to comment Share on other sites More sharing options...
uli1964 Posted March 6, 2007 Author Report Share Posted March 6, 2007 Vielen Dank für den Tipp, ich habe jetzt mal folgendes eingefügt und geändert: $query2 = "SELECT * FROM ".TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS." WHERE products_options_id = '" . $current_product_option_id . "' ORDER BY products_options_values_id DESC"; "SELECT * FROM ".TABLE_PRODUCTS_OPTIONS_VALUES." WHERE products_options_values_name = '" . $current_value_name . "' AND language_id = '" . $_SESSION['languages_id'] . "'"; $result2 = xtc_db_query($query2); $matches2 = xtc_db_num_rows($result2); if ($matches2) { $i = '0'; while ($line = xtc_db_fetch_array($result2)) { $i++; $rowClass = rowClass($i); $current_value_id = $line['products_options_values_id']; $isSelected = checkAttribute($current_value_name, $_POST['current_product_name'], $current_product_option_id); if ($isSelected) { $CHECKED = ' CHECKED'; } else { $CHECKED = ''; } Leider hat sich da nicht viel getan. In PHP bin ich leider nicht so fit. Ist der Ansatz falsch? Link to comment Share on other sites More sharing options...
uli1964 Posted March 7, 2007 Author Report Share Posted March 7, 2007 ich habe in der new_attribute_include.php folgende Befehlszeile $query2 = "SELECT * FROM ".TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS." WHERE products_options_id = '" . $current_product_option_id . "' ORDER BY products_options_values_id DESC"; mit $query2 = "SELECT o.products_options_values_to_products_options_id, o.products_options_id as products_options_id, o.products_options_values_id as products_options_values_id, p.products_options_values_name as products_options_values_name FROM products_options_values_to_products_options o LEFT JOIN products_options_values p ON o.products_options_values_id = p.products_options_values_id WHERE o.products_options_id = '" . $current_product_option_id . "' ORDER BY p.products_options_values_name"; ersetzt. Jetzt werden die Attribute nach dem Alphabet sortiert. Allerdings wird die Sprache nicht gefiltert; es erscheinen alle attribute doppelt. das Einfügen von language_id = '" . $_SESSION['languages_id'] . "'" führt zur Fehlermeldung Link to comment Share on other sites More sharing options...
buero-design Posted March 7, 2007 Report Share Posted March 7, 2007 Mensch Uli1964, Du bist ja gut :-) Jetzt noch den WHERE Teil richtig ergänzen: $query2 = "SELECT o.products_options_values_to_products_options_id, o.products_options_id as products_options_id, o.products_options_values_id as products_options_values_id, p.products_options_values_name as products_options_values_name FROM products_options_values_to_products_options o LEFT JOIN products_options_values p ON o.products_options_values_id = p.products_options_values_id WHERE o.products_options_id = '" . $current_product_option_id . "' [COLOR=blue]and p.language_id = '". $_SESSION['languages_id'].[/COLOR] "' ORDER BY p.products_options_values_name"; Dann sollte es gehen... Ben Link to comment Share on other sites More sharing options...
mbdesign Posted March 18, 2007 Report Share Posted March 18, 2007 Hi, kann mir jemand sagen wie ich die Attribute sortieren kann bei der Ausgabe in der product_info nicht im Admin Bereich!?? Link to comment Share on other sites More sharing options...
buero-design Posted March 18, 2007 Report Share Posted March 18, 2007 Hi mbdesign, dafür gibt es in der Attributverwaltung die Möglichkeit, den Attributen einen Sortierschlüssel zuzuweisen. (Das geht jedoch in Standardshop nicht für die Optionen.) Ben Link to comment Share on other sites More sharing options...
mbdesign Posted March 18, 2007 Report Share Posted March 18, 2007 Hi Ben, ich benötige es für die Optionen da ich eigentlich nur ein Attribut habe mit bis zu 10 versch. optionen. Die sine z.B. 275/35R20 235/30R20 255/45R20 und das sollte nummerisch sortiert werden. Mir würde schon reichen wenn ich nach der Artikelnummer sortieren könnte? Im Momtent werden die optionen wie sortiert??? Link to comment Share on other sites More sharing options...
mbdesign Posted March 19, 2007 Report Share Posted March 19, 2007 Weiss denn keiner wie man die Atribute sortieren kann? Link to comment Share on other sites More sharing options...
buero-design Posted March 19, 2007 Report Share Posted March 19, 2007 Hi mbdesign, damit wir über das selbe sprechen: 1. Im Adminbereich unter Artikelmerkmale legst Du zuerst eine (oder mehrere) Optionen an. 2. Dann kannst Du (auch unter dem Menupunkt Artikelmerkmale) Optionswerte anlegen. 3. Jetzt kannst Du unter dem Menupunkt Attribut Verwaltung deinem Artikel die Optionswerte als Attribute zuordnen. Und die Attribute kannst Du auch sortieren... (Eintrag im Feld Reihenfolge) Ben Link to comment Share on other sites More sharing options...
mbdesign Posted March 20, 2007 Report Share Posted March 20, 2007 ich denke schon das wir über das gleiche sprechen, nur lege ich die nicht per Hand an. Wird alles aus der WAWI BPN+ importiert per Schnittstelle SHOPSYNC. Die Reihenfolge ist also wie Sie importiert wurde. Habe es aber gefunden nachdem ich in der DB sortorder entdeckt habe SORRY!!! in der includes/modules/produtc_attributes.php in Zeile 53 order by pa.attributes_model"); statt attributes_sortorder Link to comment Share on other sites More sharing options...
Batman56 Posted November 5, 2007 Report Share Posted November 5, 2007 hallo, ich hoffe ich bin hier richtig. nirgends habe ich eine lösung hierzu gefunden. Ich möchte die Anzeigenreihenfolge der Attribute im Frontend ändern. Aktuell werden sie alphabetisch dargestellt: z.B. - Datencheck (Dropdown Ja/Nein) - Farbe (Dropdown rot/blau/gold) - Größe (Dropdown 44/45) Datencheck soll nun z.B. ganz unten oder zwischen Farbe und Größe positioniert werden. Weiss jemand wie ich das hinbekomme?? Link to comment Share on other sites More sharing options...
Jeannie Posted November 5, 2007 Report Share Posted November 5, 2007 uhu, bin ich mit meinem Ansatz unter http://www.xt-commerce.com/forum/showthread.php?t=54481 ganz falsch ??? Ich möchte dass in der Attribut Verwaltung die zig Farben die ich unter Artikelmerkmale eingegeben habe alphabetisch angezeigt werden. Wenn ich neue Artikel eingebe, ist es momentan sehr mühsam, bzw. zeitraubend die passende Farben einzugeben (blau unten, schwarz ganz oben, ......) Vielleicht weiß einer von euch ja Rat ??? Gruß Jeannie Link to comment Share on other sites More sharing options...
uli1964 Posted November 5, 2007 Author Report Share Posted November 5, 2007 Hallo Jeannie, in diesem Thread ist es im Beitrag #4 und #5 beschrieben. So hat´s bei mir jedenfalls funktioniert. Link to comment Share on other sites More sharing options...
0etzi Posted August 23, 2008 Report Share Posted August 23, 2008 Jetzt noch den WHERE Teil richtig ergänzen: $query2 = "SELECT o.products_options_values_to_products_options_id, o.products_options_id as products_options_id, o.products_options_values_id as products_options_values_id, p.products_options_values_name as products_options_values_name FROM products_options_values_to_products_options o LEFT JOIN products_options_values p ON o.products_options_values_id = p.products_options_values_id WHERE o.products_options_id = '" . $current_product_option_id . "' [COLOR=blue]and p.language_id = '". $_SESSION['languages_id'].[/COLOR] "' ORDER BY p.products_options_values_name"; Ben Das funktioniert erst mal, aber hat jemand eine Idee, wie man hier nicht nach Alphabet sortiert, sondern nach Wert? Wenn ich Attribute habe wie 1, 2, 3, 10, 100, dann sollte das auch so sortiert sein. Bei Zahlen wird aber so sortiert: 1, 10, 100, 2, 3..... mfg 0etzi Link to comment Share on other sites More sharing options...
buero-design Posted August 23, 2008 Report Share Posted August 23, 2008 Hi Oetzi, versuch's mal hiermit: $query2 = "SELECT o.products_options_values_to_products_options_id, o.products_options_id as products_options_id, o.products_options_values_id as products_options_values_id, p.products_options_values_name as products_options_values_name FROM products_options_values_to_products_options o LEFT JOIN products_options_values p ON o.products_options_values_id = p.products_options_values_id WHERE o.products_options_id = '" . $current_product_option_id . "'[COLOR=black] and p.language_id = '". $_SESSION['languages_id']. "' ORDER BY[/COLOR] [COLOR=blue]CAST (p.products_options_values_name AS UNSIGNED)[/COLOR]"; Ben Link to comment Share on other sites More sharing options...
hoodboyz Posted December 16, 2008 Report Share Posted December 16, 2008 das mit dem cast erzeugt einen sql fehler. habe auch noch nie davon gehört und dokumentiert ist mir das auch zu kompliziert. Vielleicht erklärt mir jemand das. Das fände ich wunderbar. Link to comment Share on other sites More sharing options...
buero-design Posted December 16, 2008 Report Share Posted December 16, 2008 Hallo hoodboyz, das mit dem cast erzeugt einen sql fehler. wird vemutlich an Deiner SQL Version liegen... Was da gemacht wird? Eine Typenumwandlung nach "UNSIGNED", um die Sortierung der Werte auf numerischer Basis zu bekommen, und nicht auf alphanumerischer Basis. Jetzt klarer? Ben Link to comment Share on other sites More sharing options...
Findlerman Posted February 17, 2010 Report Share Posted February 17, 2010 ich hatte leider auch nur 'ne Fehlermeldung bekommen... aber mir dann auch eine Lösung finden lassen -an dieser Stelle noch einmal herzlichen dank ;-) und Er hat mir das Problem wie folgt erklärt: "CAST (p.products_options_values_name AS UNSIGNED)" würde heissen, dass der Wert in eine ohne Vorzeichen behaftete Integerzahl konvertiert wird, was in einer Fehlermeldung endet, wenn darin Buchstaben enthalten sind Was auch das Problem mit dem Sortieren erklärt, weil nur schrittweise sortiert wird, also 1, 10, 11, 12 etc. - weil der erste "Buchstabe" 1 ist, und dann wird sortiert nach dem was folgt... Und mir dann die folgende Lösung gegeben, die bei mir wunderbar funktioniert: $query2 = "SELECT o.products_options_values_to_products_options_id, o.products_options_id as products_options_id, o.products_options_values_id as products_options_values_id, p.products_options_values_name as products_options_values_name FROM products_options_values_to_products_options o LEFT JOIN products_options_values p ON o.products_options_values_id = p.products_options_values_id WHERE o.products_options_id = '" . $current_product_option_id . "' and p.language_id = '". $_SESSION['languages_id']. "' ORDER BY products_options_values_name+0,REPLACE (products_options_values_name,products_options_values_name+0,'')";[/CODE] Link to comment Share on other sites More sharing options...
mondmagic Posted March 4, 2010 Report Share Posted March 4, 2010 Hallo habe mal was rein gestellt , dies ist ein kleines Problem.Mit den Produkt atributten bekomme ich es nicht so hin Größe\Farbe A-Cup B-Cup Preise 34 € 15.00 36 € 15.00 38 €15.00 40 € 15.00 42 € 15.00 44 € 15.00 46 € 15.00 wie stelle ich es an das die kunden es so sehen? das die gr 38 nur in Cup B zu kaufen ist , bitte um Hilfe Gruss Jürgen Link to comment Share on other sites More sharing options...
uli1964 Posted March 5, 2010 Author Report Share Posted March 5, 2010 Also ich würde entweder in den Attributen die Werte 34 Cup A; 34 Cup B, 36 Cup A usw. anlegen und dann die bestimmten Werte auswählen. Andere Möglichkeit: 1 Artikel mit Cup A, 1 Artikel Cup B Anders wird es wohl nicht gehen, es sei denn, man programmiert eine Beziehung in den Attributen (Wenn "34" dann Cup A). Stelle ich mir aber sehr aufwendig vor. Link to comment Share on other sites More sharing options...
Rowe Posted March 5, 2010 Report Share Posted March 5, 2010 Hallo, meine Artikel werden automatisch nach dem Alphabet sortiert, das will ich aber nicht, ich möchte sie selber sortieren. Kann man das irgendwo abstellen? Danke für eure Hilfe Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.