Jump to content
xt:Commerce Community Forum

Artikelsortierung Master/Slave


Amrit

Recommended Posts

ganz einfach, das ging noch nie,

die Sortierung funktioniert bei der Optionsauswahl mit SELECT, aber nicht bei der Liste.

ich veröffentliche hier einfach mal meine Lösung für EIN Attribut:

( einzufügen VOR dem foreach in der ms_products_list_default.html )

{*<!-- it:logistik 15.08.2014 Umsortieren nach Attributs-Reihenfolge START -->*}

{php}

global $db, $language;

$pl = $this->get_template_vars('product_listing');

$ausgabe = array();

$output = array();

$arr_s = array();

if ( count($pl) > 0 ) {

// SORT-ARRAY ERSTELLEN

foreach ($pl as $kp=>$vp) {

foreach ( $vp['attributes'] as $k=>$v ) {

$sql_a = "SELECT pa.sort_order, pa.attributes_id, ppa.attributes_id AS parent_attributes_id, ppa.sort_order AS parent_sort_order

FROM ".TABLE_PRODUCTS_ATTRIBUTES." AS pa

LEFT JOIN ".TABLE_PRODUCTS_ATTRIBUTES." AS ppa ON (pa.attributes_parent = ppa.attributes_id)

WHERE pa.attributes_id = '".$v['option_value_id']."'";

$rs_a = mysql_query($sql_a);

while ($row = mysql_fetch_array($rs_a)) {

$sort_arr[$row['sort_order']] = array('name'=>$vp['products_name'],'id'=>$vp['products_id'],'sort'=>$row['sort_order'],'key'=>$kp);

}

}

}

// SORTIEREN

$s_a_order = array();

$s_a_name = array();

$s_s_id = array();

foreach ($sort_arr as $key => $row) {

$s_a_order[$key] = $row['sort'];

$s_s_id[$key] = $row['id'];

$s_a_name[$key] = $row['name'];

}

array_multisort($s_a_order, $sort_arr);

// LISTING NEU ERSTELLEN

$pl_array_sorted = array();

foreach ( $sort_arr as $k=>$v ) {

$pl_array_sorted[] = $pl[$v['key']];

}

// LISTING AUSGEBEN

$this->assign('product_listing',$pl_array_sorted);

}

{/php}

{*<!-- it:logistik 15.08.2014 Umsortieren nach Attributs-Reihenfolge ENDE -->*}

Grüsse

Link to comment
Share on other sites

Seltsam, das ging bei mir seit 4.0.14 immer - es wurde und wird nach dem Feld "Reihenfolge" in den M/S Attributen (Shop->Master/Slave->Reihenfolge) numerisch aufsteigend sortiert, auch bei mehreren Attributen: Dort steuert das Feld Reihenfolge bei den Attributsgruppen ("übergeordnete Kategorie" = 0) die Reihenfolge, in der die Kategorien ausgegeben werden, bei Attributen ("übergeordnete Kategorie" != 0) bestimmt das Feld die Reihenfolge der Anzeige.

Link to comment
Share on other sites

Seltsam, das ging bei mir seit 4.0.14 immer - es wurde und wird nach dem Feld "Reihenfolge" in den M/S Attributen (Shop->Master/Slave->Reihenfolge) numerisch aufsteigend sortiert, auch bei mehreren Attributen: Dort steuert das Feld Reihenfolge bei den Attributsgruppen ("übergeordnete Kategorie" = 0) die Reihenfolge, in der die Kategorien ausgegeben werden, bei Attributen ("übergeordnete Kategorie" != 0) bestimmt das Feld die Reihenfolge der Anzeige.

Ich denke dieses hatte nur den Anschein, weil man unbewusst die Slaves (manuell also ohne Generator) in der gewünschten Reihenfolge erstellt hat...?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...