#1 (permalink)  
Alt 13.07.2010, 09:27
Neuer Benutzer
 
Registriert seit: 26.01.2010
Beiträge: 14
Standard Smarty-Abfrage "Unterkategorien- oder Produktlisting?"

Hallo,

ich möchte im index.php-Haupttemplate gern an einer Stelle abfragen, ob die aktuell generierte listing-Ansicht weitere Unterkategorien oder bereits die Produktliste einer Unterkategorie anzeigt.

Mit {if $page == 'categorie'} bekomme ich zwar eine Unterscheidung zur Startseite, Warenkorb- und sonstigen Seiten, aber {$page == 'categorie'} ist TRUE sowohl für die Listenansicht weiterer Unterkategorien, als auch für die Listenansicht der Einzelartikel, wenn es keine weitere Unterkategorien mehr gibt.

Ich bräuchte quasi eine Abfrage, ob gerade das Subtemplate "categorie_listing" oder das Subtemplate "product_listing" von der index.php eingebunden wird. Geht das?

Alternativ sinnvoll wäre vielleicht auch eine Abfrage "{wenn es weitere Unterkategorien gibt}", denn dann gilt ja Fall 1) automatisch ... aber wie mache ich das in smarty-Syntax?

Danke und Gruß,
Sebastian
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 13.07.2010, 09:36
Erfahrener Benutzer
 
Registriert seit: 23.06.2009
Ort: Wachenzell ( nähe Eichstätt/Bayern )
Beiträge: 2.817
Standard

hi,
Du müsstest im Prinzip abfragen, ob die Kategorie "Leaf" oder "Node" ist.
mit dieser php-Routine sollte es gehen:
{php}
// Ermitteln LEAF-Nodes aus Kategoriebaum ---------------------------------------------------
$cat = $this->get_template_vars('current_category_id');
$sql = "SELECT t1.categories_id FROM xt_categories
AS t1 LEFT JOIN xt_categories as t2
ON t1.categories_id = t2.parent_id
WHERE t2.categories_id IS NULL";
$result = mysql_query( $sql );
$leafs = array ();
while ($row = mysql_fetch_row($result))
{$leafs[] = $row[0];}

// ist aktuelle Kategorie LEAF ?
$is_leaf = false;
foreach ($leafs as $i => $cats)
{if ($cat == $cats){ $is_leaf = true;}}

// Smarty-Variable is_leaf ans Template übergeben
$this->assign('is_leaf',$is_leaf);
{/php}
( hatte ich schon mal getestet )
Grüsse
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 13.07.2010, 10:42
Neuer Benutzer
 
Registriert seit: 26.01.2010
Beiträge: 14
Standard

Hui. Nicht dass ich Angst vor PHP hätte, aber ich würde gern die zusätzlichen Datenbankabfragen vermeiden. Immerhin "weiss" smarty an dieser Stelle doch schon, ob es die "categorie_listing" oder die "product_listing" einbindet -- wozu also nochmal ermitteln? Läßt sich das nicht irgendwie abfragen?

Danke und Gruß,
Sebastian
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
smartyabfrage

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Preis Pro Einheit thetaste Allgemeine Diskussionen 10 28.03.2006 10:18
Abmahnungssicherer Xtc clueless Allgemeine Diskussionen 25 11.01.2006 15:54
Was Ist Bei Eine Onlineshop Alles Zu Beachten Maniac Allgemeine Diskussionen 4 01.10.2004 22:09


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:51 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand