Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 

Für Joomshopping gibt es auf der Download-Seite u.a. ein Module Filter 3.4.0 für die Filterung der angezeigten Produkte nach Kategorie, Preis und Charakteristik. Nach Installation der Beispieldaten für den Joomshopping Shop werden keine Charakteristiken angezeigt, obwohl die einzelnen Produkte in der Kategorie Cars sehr wohl Charakteristiken (Doors, Power (hp)) aufweisen. In zwei Schritten beheben Sie diesen Fehler selbst.

Filteranpassung für Charakteristiken vom Typ Text

Charakteristiken für Produkte können in Listen oder als Text abgelegt werden. In Listenform abgelegt, wird der Charakteristik eine Liste von Name - Werte - Paaren zugeordnet. Für einfache Textangaben zu "Doors" braucht man keine extra Liste. Der Wert für Doors wird einfach dem Produkt selber mitgegeben. Allerdings wurde dieser Umstand beim Entwickeln des Filters von den Machern von Joomshopping vergessen.

Schritt 1:

Installieren und platzieren Sie das Filtermodul auf Ihrer Homepage. Sind sie damit fertig, dann öffnen Sie unter joomla\modules\mod_jshopping_filters die Datei mod_jshopping_filters.php.

Schritt 2:

Fügen Sie vor der letzten Zeile "require (JModuleHelper:: getLayoutPath ('mod_jshopping_filters') );" folgenden Code ein:

$ids = array();
 
foreach($characteristic_displayfields as $ch_id)
{
    if ($characteristic_fields[$ch_id]->type == 1 && !is_array($characteristic_fieldvalues[$ch_id]))
    {
        $ids[] = $ch_id;
    }
}
 
$extraFields = array();
 
foreach ($ids as $id)
{
    $extraFields[] = "extra_field_$id";
}
 
$db =& JFactory::getDBO();
$query = "SELECT `".join("`, `", $extraFields)."` FROM `#__jshopping_products` WHERE product_publish = 1";
 
$db->setQuery($query);
 
$rows = $db->loadObjectList();
 
foreach ($rows as $row)
{
       foreach ($ids as $id)
       {
           $column = "extra_field_$id";
           $value = $row->$column;
 
           if (!empty($value))
           {
               $characteristic_fieldvalues[$id][$value] = $value;
           }
       }
}
 
 

Mit dieser Ergänzung werden die fehlenden Werte aus der Produkt-Tabelle gelesen und den Charakteristiken vom Type Text zugeordnet. Die Textfilter für den Pre-Tag im Editor von Joomla 2.5.4 arbeiten immer noch nicht korrekt, daher bitte alle "&" im Quellcode durch "&" ersetzen.

Endlich werden alle Charakteristiken der Produkte korrekt im Modul "Jshopping Filters" angezeigt. Gewicht wird im Filter nicht angezeigt, weil diese Eigenschaft keine Charakteristik ist.

Alternative:

Warten Sie bis im Joomshopping Forum unter Downloads ein neues Filter-Modul angeboten wird oder überführen Sie alle Ihre Charakteristiken für Ihre Produkte in Listen. Viel Spaß dabei.