Kategorien eines Artikels auflisten

Hi!

Ich versuche nun seit einer Weile alle Kategorien eines Artikels auszulesen und diese in details.tlp verlinkt aufzulisten. Aber irgendwie stehe ich auf dem Schlauch.

Situation:

  • es gibt zwei Top-Level Kategorien, Themen und Autoren.
  • in details.tlp sollen die dem Produkt zugeordneten Kategorien dargestellt werden (also z.B. von Autor 1 und Autor 2 <br> in Thema)

Die Funktion getCategoryIds in oxarticle.php gibt mir zwar schön die Id´s aber keine URL.
Ich vermute, dass ich hier auf dem Holzweg bin …

Hat jemand einen Vorschlag oder Tip?

Danke, Christoph

kleines Modul für den View:

<?php
class details_categories extends details_categories_parent{
    public function getCategories()
    {
        $aRet = array();
        foreach ($this->getProduct()->getCategoryIds() as $sCatId){
            $oCat = oxnew('oxcategory');
            if ($oCat->load($sCatId)){
                $aRet[] = $oCat;
            }
        }
        return $aRet;
    }
}

als modules/details_categories.php speichern
details => details_categories
in System/Module eintragen


        [{ assign var="aCategories" value=$oView->getCategories()}]
        [{if $aCategories}]
            <b>[{ oxmultilang ident="DETAILS_CATEGORY" }]</b>
            [{foreach from=$aCategories item=oCategory}]
            <a id="test_category_[{$oCategory->oxcategories__oxid->value }]" class="category" href="[{ $oCategory->getLink() }]">[{ $oCategory->oxcategories__oxtitle->value }]</a>
            [{/foreach}]
        [{/if}]

im Template

@leofonic ist es auch möglich mit diesem code für jeden artikel die Kategorien mit zu exportieren?

z.B KAT_A > KAT_A1 > KAT_B1 >

[QUOTE=leofonic;40712]kleines Modul für den View:

<?php
class details_categories extends details_categories_parent{
    public function getCategories()
    {
        $aRet = array();
        foreach ($this->getProduct()->getCategoryIds() as $sCatId){
            $oCat = oxnew('oxcategory');
            if ($oCat->load($sCatId)){
                $aRet[] = $oCat;
            }
        }
        return $aRet;
    }
}

als modules/details_categories.php speichern
details => details_categories
in System/Module eintragen


        [{ assign var="aCategories" value=$oView->getCategories()}]
        [{if $aCategories}]
            <b>[{ oxmultilang ident="DETAILS_CATEGORY" }]</b>
            [{foreach from=$aCategories item=oCategory}]
            <a id="test_category_[{$oCategory->oxcategories__oxid->value }]" class="category" href="[{ $oCategory->getLink() }]">[{ $oCategory->oxcategories__oxtitle->value }]</a>
            [{/foreach}]
        [{/if}]

im Template[/QUOTE]

Mit was denn exportieren? Dieses Modul ist für die details-View gedacht, bei einem Export könnte man natürlich einen ähnlichen Code verwenden.