Jump to content
xt:Commerce Community Forum

Alle Artikel In Allen Kategorien Anzeigen?


munlock

Recommended Posts

Hi!

Gibt es eine M?glichkeit alle Artikel aus allen Kategorien

auf einmal anzuzeigen?

Ich m?chte einen Button anlegen der alle Artikel m?glichst

sortiert nach Kategorien anzeigt. F?r die jenigen die "mal eben"

allgemein durch den Shop bl?ttern m?chten.

Bei einer gro?en Atikelzal wird das wohl nicht sinnvoll sein

da der Server beim Provider ziemlich r?deln wird, aber bei

mir wird die Anzahl recht ?berschaubar bleiben.

Gru? Mathias

Link to comment
Share on other sites

  • 1 year later...

Originally posted by munlock@Mar 15 2004, 00:00 AM

Hi!

Gibt es eine M?glichkeit alle Artikel aus allen Kategorien

auf einmal anzuzeigen?

Ich m?chte einen Button anlegen der alle Artikel m?glichst

sortiert nach Kategorien anzeigt. F?r die jenigen die "mal eben"

allgemein durch den Shop bl?ttern m?chten.

Bei einer gro?en Atikelzal wird das wohl nicht sinnvoll sein

da der Server beim Provider ziemlich r?deln wird, aber bei

mir wird die Anzahl recht ?berschaubar bleiben.

Gru? Mathias

Wir haben uns eine ?hnliche Funktion geschaffen, indem wir den Datenbank-SQL-Abfrage-Befehl der Produktliste so manipulieren, dass die Kategorie kein Auswahlkriterium mehr ist.

Damit erh?lt man eine Produktliste, in der alle Produkte aller Kategorien alphabetisch sortiert sind.

Wenn man zus?tzlich eine Gruppierung nach Kategorien haben will, dann muss man die mit "//Sort by category" gekennzeichneten Zeilen l?schen.

Diese Funktion wird mit dem Parameter "categories=all"aufgerufen, z.B. so: "http://localhost/xtcommerce/index.php?cPath=1&categories=all

Wenn das der Standard-Aufrufmodus sein soll, dann die Zeile mit der Abfrage "if ($_GET['categories']=='all')" l?schen

Wie das in Praxis aussieht kann man unter "www.seifenparadies.de" sehen. Nach Aufruf der Kategorie 1 werden in der Liste 2 Links angeboten, mit der man die Darstellung ?ndern kann:

Alle Produkte in dieser Kategorie anzeigen (Gesamt?bersicht)

Alle Produkte in allen Kategorien anzeigen (Gesamt?bersicht)

Wir sind dann allerdings einen Schritt weiter gegangen, indem wir dann nur eine verk?rzte Liste darstellen (die wir u.a auch benutzen k?nnen, um relativ einfach eine "Print"-Preisliste zu erstellen).

Das (und einige weitere Zus?tze, wie z.B. die automatische Anzeige der "Neu"-Grafik) haben allerdings eine ziemliche ?nderung des Produktlisten-Templates und des Programms "includes\modules\product_listing.php" zur Folge, was durch die hier vorgestellte ?nderung nicht abgedeckt ist.

===============================================================================================================================

In Modul <span style='color:blue'>includes\modules\product_listing.php</span>


$listing_split = new splitPageResults($listing_sql, $_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');


ersetzen mit
          

	if ($_GET['categories']=='all')

	{

 $Entries=100000;

 $Category_Selector="and p2c.categories_id = '";

 $Category_Selector_Start=strpos($listing_sql,$Category_Selector);

 if ($Category_Selector_Start != false)

 {

 	$Category_Selector_End=strpos($listing_sql,"'",$Category_Selector_Start+strlen($Category_Selector)+1);

 	if ($Category_Selector_End != false)

 	{

  $listing_sql=

  substr ($listing_sql, 0, $Category_Selector_Start) .

  substr ($listing_sql, $Category_Selector_End+1);

/* 	//Sort by category

  // If you want to sort also by category, then remove comment signs before and after

  $SQLOrder_Expression='pd.products_name';

  $listing_sql=str_replace($SQLOrder_Expression, 'p2c.categories_id,'.$SQLOrder_Expression,$listing_sql);

*/ 	//Sort by category

 	}

 }

	}

	else

	{

 $Entries=MAX_DISPLAY_SEARCH_RESULTS;

	}

}

$listing_split = new splitPageResults($listing_sql, $_GET['page'], $Entries, 'p.products_id');

//	W. Kaiser


Wir haben das im Moment so konzipiert, dass alle Artikel auf einer Seite ausgegeben werden, da das mit unsere Kurzliste und der Produktanzahl akzeptabel ist. Wenn man aber eine seitenweise Darstellung braucht, dann die Zeile "$Entries=100000;" ersetzen mit "$Entries=MAX_DISPLAY_SEARCH_RESULTS;"

===============================================================================================================================

Die Verwendung erfolgt auf eigene Gefahr, wir ?bernehmen keinerlei Gew?hrleistung f?r die Fehlerfreiheit dieser ?nderungen.

Vor allen ?nderungen unbedingt den Originalzustand sichern!.

Link to comment
Share on other sites

Archived

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

×
  • Create New...