Neu Kategorieattribute: getter should be used to get categoryAttributes! Aber wie?

fibergirl

Sehr aktives Mitglied
14. April 2016
798
224
Hamburg
Hallo,

nach dem Update auf 5.1.0alpha erhalte ich plötzlich beim Zugriff auf Kategorieattribute bzw. Kategorie-Funktionsattribute folgenden Fehler:

Deprecated: JTL\Catalog\Category\MenuItem: getter should be used to get categoryAttributes in /xxxxx/includes/src/MagicCompatibilityTrait.php on line 34

wahlweise auch mit "to get categoryFunctionAttributes".

Das passiert in meinem Child Template, wo ich tatsächlich Kategorie-Attribute abfrage.
Hier:
Code:
{if $oNavigationsinfo->getCategory()->categoryAttributes.kurzbeschreibung->cWert|strlen > 0}
    <div class="desc mb-5">
        <h6>{$oNavigationsinfo->getCategory()->categoryAttributes.kurzbeschreibung->cWert|strip_tags}</h6>
    </div>
{/if}
Und hier:
Code:
{assign var=notinnav value='nicht in navigation'}
     {foreach $categories as $category}

{if isset($category->categoryFunctionAttributes.$notinnav) && $category->categoryFunctionAttributes.$notinnav == 1}
{continue}
{/if}

Ich bin der Meinung, die Attribute genau so abgefragt zu haben, wie es hier:
https://docs.jtl-shop.de/de/latest/shop_templates/tipps_tricks.html#kategorieattribute-abfragen
unter Template-Code empfohlen wird.

Was mache ich falsch?

Dank & Gruß,
fibergirl
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.055
187
Halle (Saale)
Hallo,

der Fehlermeldung nach geht es hier nicht um Kategorieattribute in Kategorien, sondern in der Klasse MenuItem. Zumindest das Codeschnipsel oben ist hier also nicht betroffen,
da $oNavigationsinfo->getCategory() eine Kategorieinstanz und kein MenuItem zurückgibt.

MenuItems sind quasi die einzelnen Einträge im MegaMenü.
Statt
$menuItemInstance->categoryAttributes
sollte man
$menuItemInstance->getAttributes()
nutzen und statt
$menuItemInstance->categoryFunctionAttributes
besser
$menuItemInstance->getFunctionalAttributes()
 
  • Gefällt mir
Reaktionen: fibergirl