Kategorienamen im Warenkorb anzeigen lassen

Hallo Community,

ich möchte im Warenkorb ([B][I]basket.tpl[/I][/B]) die Kategorienamen der jeweiligen Artikel anzeigen lassen.
Gibt es eine entsprechende Variable in den einzelnen Artikeln, also in der [B][I]produc.tpl[/I][/B]?

Vielen Dank für wertvolle Ideen im Vorraus.

[QUOTE=ErichShop;22818]Hallo Community,

ich möchte im Warenkorb ([B][I]basket.tpl[/I][/B]) die Kategorienamen der jeweiligen Artikel anzeigen lassen.
Gibt es eine entsprechende Variable in den einzelnen Artikeln, also in der [B][I]produc.tpl[/I][/B]?

Vielen Dank für wertvolle Ideen im Vorraus.[/QUOTE]
Nein, gibt es nicht.

Danke für die Info,

hintenherum, durchs Knie, Ohr etc… hab ich folgende Lösung gefunden:

in template [B][I]basket.tpl[/I][/B] mittels [B][I]php [/I][/B]den Kategorienamen aus dem Link extrahieren:

[{php}]
     $link = $this->_tpl_vars['basketproduct']->getLink();
     $pos = strripos ($link, "/");
     $link_ohne_extension = substr($link, 0, $pos);
     $pos =  strripos($link_ohne_extension, "/")+1;
     $catname = substr($link_ohne_extension, $pos);
   								
     echo ('Kategoriename = '.$catname);
[{/php}]

[QUOTE=ErichShop;22833]Danke für die Info,

hintenherum, durchs Knie, Ohr etc… hab ich folgende Lösung gefunden:

in template [B][I]basket.tpl[/I][/B] mittels [B][I]php [/I][/B]den Kategorienamen aus dem Link extrahieren:

[{php}]
     $link = $this->_tpl_vars['basketproduct']->getLink();
     $pos = strripos ($link, "/");
     $link_ohne_extension = substr($link, 0, $pos);
     $pos =  strripos($link_ohne_extension, "/")+1;
     $catname = substr($link_ohne_extension, $pos);
                                   
     echo ('Kategoriename = '.$catname);
[{/php}]

[/QUOTE]
Damit hast Du aber nur den Namen, wie er “SEO”-mäßig aussieht…

Nicht den “richtigen” Kategorienamen.

Den Unterschied wird man bei Sonderzeichen sehen…

[QUOTE=avenger;22836]Damit hast Du aber nur den Namen, wie er “SEO”-mäßig aussieht…

Nicht den “richtigen” Kategorienamen.

Den Unterschied wird man bei Sonderzeichen sehen…[/QUOTE]

Stimmt. Hab’s eben getestet.

Für’s Erste reicht mir das auch so.
Wenn ich meine Kenntnisse etwas erweitert habe, versuch ich’s mal mit einer Quellcodeanpassung, um das sauber zu programmieren.
Tips sind trozdem herzlichst willkomen.

Danke

$basketproduct->getCategory() liefert den korrekten Kategorienamen.

[QUOTE=leofonic;22921]$basketproduct->getCategory() liefert den korrekten Kategorienamen.[/QUOTE]

Hallo leofonic,

ich habe mir zwischenzeitlich folgendes Modul geschrieben:


class myfun extends myfun_parent
{
	public function getCategoryLink()
	{
		$test = $this->getCategory();
		$test2 = $test->getLink();
		return $test2;
	}
}

Das funktioniert soweit problemlos.
Es geht aber auch direkt im Template so wie von dir vorgeschlagen. Allerdings nur, wenn ich es wie folgt mache:


[{assign var="mycat" value=$basketproduct->getCategory()}]
[{assign var="mycat2" value=$mycat->getLink()}]
[{$mycat2}]

Ich bin nicht der PHP Guru. Vieleicht weiß ja jemand, wie man den Zwischenschritt weglassen kann (evtl. Casten?)

Der Zwischenschritt ist schon nötig, getCategory() gibt ein Objekt zurück. Du könntest auch den Code aus details.tpl verwenden:


[{ assign var="oCategory" value=$basketproduct->getCategory()}]
[{if $oCategory}]
    <b>[{ oxmultilang ident="DETAILS_CATEGORY" }]</b>
    <a href="[{ $oCategory->getLink() }]">[{ $oCategory->oxcategories__oxtitle->value }]</a>
[{/if}]