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

Smarty-Abfrage "Unterkategorien- oder Produktlisting?"

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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...