Jump to content
xt:Commerce Community Forum
Sign in to follow this  
oldbear

Solved ! Sortieren nach Hersteller im Produkt-Listing !

Recommended Posts

hallo Freunde,

der eine oder andere wird sich darüber freuen:

Ich habe das Dropdown für die Sortierung im Artikel-Listing auf Hersteller auf-/absteigend erweitert.

Wies geht:

In der class.products_list.php die function getSortDropdown() um diese zwei Zeilen ergänzen:

$options[] = array('id'=>'manufacturer','text'=>SORT_MANUFACTURER);

$options[] = array('id'=>'manufacturer-desc','text'=>SORT_MANUFACTURER_DESC);

und die beiden Sprachtexte anlegen.

In der class.product_sql_query.php die function F_Sorting($sort) um diese Zeilen erweitern:

case 'manufacturer' :

$this->setSQL_SORT(' p.manufacturers_id');

break;

case 'manufacturer-desc' :

$this->setSQL_SORT(' p.manufacturers_id DESC');

break;

Zur sinnvollen Nutzung ist noch das Plugin "mz_box_hersteller" von Mario nötig, damit die Hersteller auch angezeigt werden.

mit ein paar Zeilen im Listing kann man den Hersteller auch nur dann anzeigen, wenn er wechselt:

{assign var=man_id value=''}

{foreach name=aussen item=module_data from=$product_listing}

{if $man_id neq $module_data.manufacturers_id}

{box name=mz_box_hersteller type=user manufacturer=$module_data.manufacturers_id}

{assign var=man_id value=$module_data.manufacturers_id}

{/if}

....

{/foreach}

Grüsse

P.S.: Auf die Art kann man auch nach anderen, zusätzlichen Kriterien im Produkt sortieren !

:D

Ergänzung: Richtig Sinn macht das noch mit einer alphabetischen Sortierung der Hersteller, die ich unter "Hersteller sortieren ganz easy" bereits gepostet habe.

Edited by oldbear
Ergänzung:

Share this post


Link to post
Share on other sites

mein held des tages!! dankeschön!

wenn du nun noch rausfindest, wie man das zusätzliche dropdown >>produkte eines herstellers in der kategorie anzeigen<< programmiert, bist du mein held monats :D

aber danke, das ist super!!!!

lg

aber mal noch eine frage: wie ist das, wenn man so viele artikel hat, dass es mehrere seiten gibt, wird es dann auch noch richtig sortiert?

Edited by denise2302

Share this post


Link to post
Share on other sites

Sehr schöne Funktion :)

Die Möglichkeit in der ausgewählten Kategorie nur die Produkte eines Hersteller anzuzeigen würde mich aber auch noch sehr interessieren.

Dies könnte man dann z.B. auch noch auf andere Sachen anwenden (verschiedene Preisspannen, Artikelkriterien etc.).

Nachtrag:

Sobald ich die beiden veränderten Dateien hochgeladen habe kann ich mich nicht mehr ins Backend einloggen.

Folgende Fehlermeldung erscheint:

Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1145517_IGW20XCTU5/www/shop/xtFramework/classes/class.products_list.php:1) in /is/htdocs/wp1145517_IGW20XCTU5/www/shop/xtFramework/classes/class.acl.php on line 0

Edited by Weinlaube

Share this post


Link to post
Share on other sites

hi,

ist kein Fehler, macht die Forum-Software beim Einfügen aus der Zwischenablage .....

Grüsse

P.S. Du suchst wohl sowas ( Hersteller einlesen klappt, Auswahl noch nicht, falls jemals fertig, kriegst Du ne PM ) lt. Anlage .....

post-87818-14337915040068_thumb.jpg

Share this post


Link to post
Share on other sites

$options[] = array('id'=>'name','text'=>SORT_NAME);

$options[] = array('id'=>'name-desc','text'=>SORT_NAME_DESC);

$options[] = array('id'=>'manufacturer','text'=>SORT_MANUFACTURER);

$options[] = array('id'=>'manufacturer-desc','text'=>SORT_MANUFACTURER_DESC);

$data['options'] = $options;

return $data;

case 'date-desc' :

if ($this->position == 'products_specials')

$this->setSQL_SORT(' s.date_added DESC');

else

$this->setSQL_SORT(' p.date_added DESC');

break;

case 'manufacturer' :

$this->setSQL_SORT(' p.manufacturers_id');

break;

case 'manufacturer-desc' :

$this->setSQL_SORT(' p.manufacturers_id DESC');

break;

default:

$this->setSQL_SORT(' p.products_sort');

break;

//return false;

Share this post


Link to post
Share on other sites

hi Weinlaube !

sieht genauso aus wie bei mir, beim Kopieren in den Editor sind auch die Hochkommas richtig ... keine Ahnung, was bei Dir nicht klappt. Sorry !

P.S.: im übrigen habe ich es geschafft, nach Herstellern zu filtern ...

siehe Anlage

post-87818-1433791504024_thumb.jpg

Share this post


Link to post
Share on other sites

hi,

wie schon gesagt, Hersteller per SQL eingelesen in Tabelle vom Aufbau $sort_dropdown.options, Variable ans Dropdown übergeben, das Dropdown leicht modifiziert und ausgewählte Hersteller-Id ins Template übergeben.

Der Rest ist Abfrage im foreach des Templates ( da brauchs natürlich ein paar if´s )

hing aber schon eine ganze Zeitlang dran ...

Grüsse

Share this post


Link to post
Share on other sites

mhmmm ich glaube da fehlt mir das knowhow dazu, um das selbst bei mir zu schreiben.. :( aber es ist ok, wenn du deinen code nicht zur verfügung stellst, wenn du so lang dran gesessen hast.

freue mich aber für dich, dass es bei dir jetzt wenigstens klappt =)

lg

Share this post


Link to post
Share on other sites

hi,

ich bilde mir ein, schon etliche brauchbare Sachen veröffentlicht zu haben, und es schmerzt manchmal schon etwas, wenn man auf seine Fragen zu ähnlich "schwierigen" Fällen fast keine Antworten bekommt.

Ich bau mir gerade eine neue Homepage auf Basis von Joomla auf und will dort auch eine Veyton-Ecke einrichten, vielleicht dann dort !

( zu allem Überfluss lebe ich von dem "Sch...." )

Grüsse

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...