badausstattung24.de Posted July 31, 2009 Report Share Posted July 31, 2009 Also bin nun seit Tagen auf der Suche, wie man in den Kategorien nach Herstellen filtern kann. Alle Suche im Forum war vergebens. In der "product_listing_v1.html" steht ja folgendes: {if $MANUFACTURER_DROPDOWN} <div class="products_sort"> {if $MANUFACTURER_DROPDOWN}{$MANUFACTURER_DROPDOWN}{/if} </div> {/if} {if $manufacturer} {$manufacturer.MANUFACTURER.manufacturers_description} {/if}[/HTML] Wie oder wo wird den nun der Hersteller bzw der Filter angezeigt? Danke für Eure Hilfe. Link to comment Share on other sites More sharing options...
badausstattung24.de Posted August 3, 2009 Author Report Share Posted August 3, 2009 Ist in der 11er noch nicht möglich Link to comment Share on other sites More sharing options...
denise2302 Posted April 8, 2010 Report Share Posted April 8, 2010 Und wie sieht es mit der 12er aus? Da steht die Zeile auch drin aber ich finde absolut nichts, womit dies dann auch so angezeigt wird. Vielleicht hat ja jemand mittlerweile eine Lösung oder eine Information, ob man die Funktion nun nutzen kann? LG Link to comment Share on other sites More sharing options...
oldbear Posted April 8, 2010 Report Share Posted April 8, 2010 hi, auch bei der 12er steht in der class.manufacturers.php noch "toDo" bei der Funktion ... allerdings stehen Dir in der 12er die Hersteller mit dem Plugin mz_box_hersteller ( hier im Forum zu finden ) im Template als Variable zur Verfügung, damit kannst Du dir selber ein Dropdown machen machen bzw. auch selektieren .... mit diesem Aufruf: {box name=mz_box_hersteller type=user manufacturer=$module_data.manufacturers_id} ich nutze das z.B. im einspaltigen Listing der Suchfunktion und lasse den Hersteller nur bei Gruppenwechsel anzeigen. Grüsse Link to comment Share on other sites More sharing options...
denise2302 Posted April 8, 2010 Report Share Posted April 8, 2010 Hallo! Danke für die Antwort. Ich habe das Plugin nun genutzt, um mir in der Artikelbeschreibung den Hersteller anzeigen zu lassen. Also einfach nur als Text. Dazu habe ich das Plugin installiert und in der Template-Datei auskommentiert, dass "Alle Artikel von xxx" ausgegeben wird und nur die Ausgabe des Herstellernamen gemacht. Nun ist aber die Dropdown Geschichte noch offen, weil im Prinzip nutze ich das Plugin ja jetzt für die Ausgabe des Namen. Wie kann ich nun so ein Dropdown mit dem Plugin basteln? Im Prinzip müsste man ja irgendwas machen, damit mir nur die Artikel in der Kategorie des jeweiligen Herstellers, welcher im Dropdown ausgewählt wurde, angezeigt wird. Bloß irgendwie habe ich gerade keinen Ansatz... Fällt da jemanden etwas ein? Es wurde ja im Forum auch schon öfters nach so einer Funtkion gefragt... LG Link to comment Share on other sites More sharing options...
oldbear Posted April 8, 2010 Report Share Posted April 8, 2010 hi, es stehen Dir ja sämtliche Hersteller zur Verfügung: also ein Form basteln und darin das select mit den Herstellernamen als options füllen. etwa wie das Sort-Dropdown im Artikel-Listing: {if $sort_dropdown.options} <div class="products_sort"> {form type=form name=sort_dropdown action='dynamic' method=get} {form type=hidden name=page value='categorie'} {form type=hidden name=cat value=$current_category_id} {form type=select name=sorting value=$sort_dropdown.options default='' onchange='this.form.submit();'} {form type=formend} </div> {/if} Hab ich aber selber noch nicht gemacht ... ) Grüsse Link to comment Share on other sites More sharing options...
denise2302 Posted April 9, 2010 Report Share Posted April 9, 2010 naja im prinzip müsste ich das dropdown ja in die template datei schreiben, da da die daten bezogen werden, oder? oder kann ich {$_man_data.manufacturers_name|escape:"html"} da zb verwenden, im produktlisten template? naja, ich probier einfach mal =) Link to comment Share on other sites More sharing options...
denise2302 Posted April 9, 2010 Report Share Posted April 9, 2010 also es ist auf jeden fall schwieriger als ich dachte. vielleicht versucht man gleich, so eine funktion in die php zu schreiben? also da wo noch TODO steht? Man hat ja im Prinzip die Hersteller-Daten auf der Seite oder? Hmmm.... ach mensch ^^ bin leider nicht so gut in php.... lg Link to comment Share on other sites More sharing options...
mulix Posted September 28, 2011 Report Share Posted September 28, 2011 moin moin leute, tja da steh ich nun vor dem selben problem und hätte gerne in dem product-listing ein dropdown mit den herstellern in der aktuellen kategorie. Hab mir schon den kopf zerbrochen und keine wirkliche idee. Klar ausser man kauft ein filter-plugin oder schreibt sich was selber bzw. macht aus dem //TODO in der class.manufacturers.php was schönes :-) Hatt da jemand ne idee? Ich nutze noch die 4.0.12 viele grüße Michael Link to comment Share on other sites More sharing options...
mlueft Posted May 3, 2012 Report Share Posted May 3, 2012 Hi! Ich hatte heute das selbe Problem, wie ihr und ich habe die Funktion ausprogrammiert. class.manunfacturer.php function getManufacturerSortDropdown($default) { global $_GET, $PHP_SELF, $xtPlugin, $language, $db, $current_category_id; $sql_manufacturers = new getManufacturerSQL_query(); $sql_manufacturers->setSQL_COLS(' m.manufacturers_id as id, m.manufacturers_name as text', true); $sql_manufacturers->setSQL_TABLE(" left join xt_products p on m.manufacturers_id = p.manufacturers_id left join xt_products_to_categories cc on cc.products_id = p.products_id "); $sql_manufacturers->setSQL_WHERE("and m.manufacturers_status = 1 and cc.categories_id = ".$current_category_id ); $sql = $sql_manufacturers->getSQL_query("distinct"); $record = $db->Execute($sql); $options[] = array("id"=>"", "text" => "Hersteller:"); $options[] = array("id"=>"", "text" => "alle"); if($record->RecordCount() > 0){ while(!$record->EOF){ $options[] = $record->fields; $record->MoveNext(); } $record->Close(); }else{ return false; } $data['options'] = $options; return $data; }[/PHP] Die Templates habe ich so umgeändert, dass die selektierten Werte vorausgewählt sind. Das erlaubt die Kombination der Sortierung und der Herstellerfilter. Template: [HTML] {if $sort_dropdown.options} <div class="products_sort" style="float:left;margin:0px;"><div class="floatbox" > {form type=form name=sort_dropdown action='dynamic' method=get} {form type=hidden name=page value='categorie'} {form type=hidden name=cat value=$current_category_id} {form type=hidden name=filter_id value=$smarty.get.filter_id} {form type=select name=sorting value=$sort_dropdown.options default=$smarty.get.sorting onchange='this.form.submit();'} {form type=formend} </div> </div> {/if} {if $MANUFACTURER_DROPDOWN.options} <div class="products_sort" style="float:left;margin:0px;"><div class="floatbox" > {form type=form name=MANUFACTURER_DROPDOWN action='dynamic' method=get} {form type=hidden name=page value='categorie'} {form type=hidden name=cat value=$current_category_id} {form type=hidden name=sorting value=$smarty.get.sorting} {form type=select name=filter_id value=$MANUFACTURER_DROPDOWN.options default=$smarty.get.filter_id onchange='this.form.submit();'} {form type=formend} </div> </div> {/if} [/HTML] Die Joins sind notwendig, damit nur die Hersteller auswählbar sind, deren Produkte auch wirklich vorkommen. Man kann den Quellcode bestimmt noch etwas cleanen; ich habe zum Beispiel die Tabellennamen fix codiert und nicht die Kontanten verwendet. michael Link to comment Share on other sites More sharing options...
de.sc Posted May 24, 2012 Report Share Posted May 24, 2012 funktioniert leider nicht. bei euch? Link to comment Share on other sites More sharing options...
mlueft Posted May 24, 2012 Report Share Posted May 24, 2012 Ich kann natürlich nicht ausschließen, dass mein Kunde eine veraltete Version des Shops hat und sich inzwischen vielleicht das System rtwas geändert hat. Aber es sollte eine ausreichende Basis bilden um eigene Adaptionen zu erlauben. lg, mlueft Link to comment Share on other sites More sharing options...
de.sc Posted May 25, 2012 Report Share Posted May 25, 2012 wahrscheinlich liegt es daran, denn ich habe es ausprobiert und es funktioniert nicht Link to comment Share on other sites More sharing options...
einheit13 Posted November 21, 2012 Report Share Posted November 21, 2012 Sehr interessanter Code, vor allem daher sehr hilfreich, weil ich in php nicht gut bin. Ich habe mlueft´s code übernommen und ebenfalls mir das mz_box_hersteller plugin eingepflegt und nun folgende Situation. Ich darf im Product_dropdown nach auf und absteigenden Herstellern sortieren lassen (nur sortiert die Funktion nicht). Gleiches habe ich auch mit dem zusätzlichen manufacturer dropdown menü. Ich darf auch hier nach Herstellern sortieren bzw. auswählen (was auch korrekt funktioniert mit den jeweils nur "aktiven" Herstellern), aber das System "aktualisiert" nicht weiter. Die eigentliche Sortierungshandlung wird hier ebenfalls nicht abschliessend ausgeführt. Ich halte in der class.manufacturers.php $options[] = array("id"=>"", "text" => "Hersteller:");[/PHP] für falsch, da der Text innerhalb des Dropdowns angezeigt wird und das doch nicht sinnvoll ist. Ich habe die 12er Version. Ich verstehe nicht, wieso das System die abschliessende Sortierung nicht ausführt. Alles andere ist doch da? Gruß 13 Link to comment Share on other sites More sharing options...
Demajo Posted December 13, 2012 Report Share Posted December 13, 2012 Dickes Danke für den ursprünglichen Code. Da ich nicht gern in den Core-Files arbeite hab ich das ganze in ein kleines Plugin ausgelagert und ein kleines bißchen angepasst. Das ganze auf dem Hook "module_categories.php:tpl_data" eingefügt und schon werden die Daten ordentlich gefüllt. <?php global $db, $current_category_id; $sql_manufacturers = new getManufacturerSQL_query(); $sql_manufacturers->setSQL_COLS(' m.manufacturers_id as id, m.manufacturers_name as text', true); $sql_manufacturers->setSQL_TABLE(" left join xt_products p on m.manufacturers_id = p.manufacturers_id left join xt_products_to_categories cc on cc.products_id = p.products_id "); $sql_manufacturers->setSQL_WHERE("and m.manufacturers_status = 1 and cc.categories_id = ".$current_category_id ); $sql = $sql_manufacturers->getSQL_query("distinct"); $record = $db->Execute($sql); $manoptopns = array(); $manoptions[] = array("id"=>"", "text" => "alle"); if($record->RecordCount() > 0){ while(!$record->EOF){ $manoptions[] = $record->fields; $record->MoveNext(); } $record->Close(); $mandata['options'] = $manoptions; $tpl_data['MANUFACTURER_DROPDOWN'] = $mandata; }[/PHP] Im Template hab ich dann noch die Ausgabe etwas angepasst: [HTML] {if $sort_dropdown.options} {form type=form name=sort_dropdown action='dynamic' method=get} {form type=hidden name=page value='categorie'} {form type=hidden name=cat value=$current_category_id} {form type=hidden name=filter_id value=$smarty.get.filter_id} {form type=select name=sorting value=$sort_dropdown.options default=$sort_default onchange='this.form.submit();'} {form type=formend} {/if} {if $MANUFACTURER_DROPDOWN.options} {form type=form name=MANUFACTURER_DROPDOWN action='dynamic' method=get} {form type=hidden name=page value='categorie'} {form type=hidden name=cat value=$current_category_id} {form type=hidden name=sorting value=$smarty.get.sorting} {form type=select name=filter_id value=$MANUFACTURER_DROPDOWN.options default=$smarty.get.filter_id onchange='this.form.submit();'} {form type=formend} {/if}[/HTML] Den Abschnitt für das "Sorting" hab ich mit gepostet, da ich dort noch das versteckte Feld für die Übernahme des Herstellers eingefügt habe. Theoretisch kann man das ganze sicherlich auch in eine Form packen Vielleicht hilfts dem ein oder anderen weiter. MfG Demajo Link to comment Share on other sites More sharing options...
Jeldrik Posted March 6, 2013 Report Share Posted March 6, 2013 Von Haus aus gibt es auch die (nicht dokumentierte) Funktionalität bei einem Link Hersteller und Kategorie als Parameter zu übergeben und dann nur die Produkte des Herstellers in der Kategorie angezeigt zu bekommen. Der Link muss einfach nach folgendem Schema aufgebaut sein: /categorie?mnf={$HerstellerId}&cat={$KategorieId} Oder mit Suma URLs: /{Suma URL der Kategorie}?mnf={$HerstellerId} Link to comment Share on other sites More sharing options...
Nipos Posted November 17, 2014 Report Share Posted November 17, 2014 Hallo gibt es dafür eine aktuelle Version für Version 4.1? Leider ist im Core die Funktion noch unter "TODO" - wenn ich den Code einfüg erhalte ich eine Fehlermeldung Liegt am Core Teil: global $_GET, $PHP_SELF, $xtPlugin, $language, $db, $current_category_id; $sql_manufacturers = new getManufacturerSQL_query(); $sql_manufacturers->setSQL_COLS(' m.manufacturers_id as id, m.manufacturers_name as text', true); $sql_manufacturers->setSQL_TABLE(" left join xt_products p on m.manufacturers_id = p.manufacturers_id left join xt_products_to_categories cc on cc.products_id = p.products_id "); $sql_manufacturers->setSQL_WHERE("and m.manufacturers_status = 1 and cc.categories_id = ".$current_category_id ); $sql = $sql_manufacturers->getSQL_query("distinct"); $record = $db->Execute($sql); $options[] = array("id"=>"", "text" => "Hersteller:"); $options[] = array("id"=>"", "text" => "alle"); if($record->RecordCount() > 0){ while(!$record->EOF){ $options[] = $record->fields; $record->MoveNext(); } $record->Close(); }else{ return false; } $data['options'] = $options; return $data;[/PHP] "Leider ist ein Fehler beim Aufruf unserer Webseite aufgetreten. Bitte versuchen Sie es später noch einmal." Danke im Voraus! Link to comment Share on other sites More sharing options...
Nipos Posted November 26, 2014 Report Share Posted November 26, 2014 Ein Push nach oben, vllt hilfts :-) Link to comment Share on other sites More sharing options...
cmsideas Posted November 27, 2014 Report Share Posted November 27, 2014 Ich kann natürlich nicht ausschließen, dass mein Kunde eine veraltete Version des Shops hat und sich inzwischen vielleicht das System rtwas geändert hat. Link to comment Share on other sites More sharing options...
Nipos Posted November 27, 2014 Report Share Posted November 27, 2014 Nein, das ist natürlich kein Problem, wäre nur schön, wenn sich ein erfahrenerer Benutzer sich der Thematik für 4.1.1 bzw. der aktuellen Version 4.2 annehmen würde :-) ... eventuell ja auch die Entwicklungsgarde der xt:Commerce - da es ja im Core zumindest schon einmal vorgesehen ist... :-) Link to comment Share on other sites More sharing options...
Nipos Posted December 6, 2014 Report Share Posted December 6, 2014 *push* In einer Kategorie nach Herstellern/Marken filtern sollt doch möglich sein.. ich gebs nicht auf.. Hilfe muss her :-) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.