Wenn Produkt in Kategorie dann

Hallo Community, ich ärgere mich die ganze Zeit schon mit einem Problem, was mir die Kenner unter euch sicher schnell lösen können :wink:

Zum einen bräuchte ich irgendwie für die Produktansichten (grid, infogrid etc) eine Abfrage, wenn das Produkt in einer bestimmten Kategorie ist, dann <img> hinzufügen.
Ich weiß aber nie so recht, welche Variablen ich ansprechen muss, dass das Ganze funktioniert… entweder, ich bekomme ein redirect=1, missing 1 argument oder es passiert einfach gar nichts :smiley:

z.B. hatte ich probiert:

[{if $product->isAssignedToCategory() eq "..."}]

aber das funktioniert alles nicht und ich komme nicht weiter.
So eine Funktion bräuchte ich dann auch noch für neue Artikel bis 14 Tage… dazu hatte ich im Forum etwas gesehen, finde den Beitrag aber nicht mehr.

Ich hoffe, ihr könnt mir helfen

Gruß Richard

Das sollte Dich weiter bringen.

http://forum.oxid-esales.com/showthread.php?t=15383

Danke für die schnelle Antwort. Den Beitrag hatte ich in der Tat schon einmal gelesen und das auch so übernommen, nur wird mir mit diesem Quellcodeschnipsel nichts angezeigt. Also es wird auch kein img Tag oder sonst irgendwas hinzugefügt laut Firebug, der nimmt die Funktion scheinbar gar nicht an.

Dann versuche es so:


[{ if $product->inCategory('MEINE_KAT_ID') }]

Das scheint auch nicht zu klappen :frowning: Kann natürlich sein, dass ich mich zu doof anstelle, aber ich hab den code nach <div class=“pictureBox gridPicture”> in die infogrid.tpl eingefügt, erhalte aber immer oben im browser “index.php?lang=1&cl=start&redirected=1”

steht dazu was in exception_log.txt?

in der exception log wurde mir zwar was etwas angezeigt, dass hatte aber mit einem anderen problem zutun, was letztendlich redirect verursacht hat… nun gibts kein redirect mehr, aber angezeigt wird trotzdem nichts

[{block name="widget_product_listitem_infogrid_gridpicture"}]
        <div class="pictureBox gridPicture">
			[{if $product->inCategory('780da0596d987830be3d1f78aaae5da0')}]
				<span>TEST</span>
			[{/if }]
            <a class="sliderHover" href="[{ $_productLink }]" title="[{ $product->oxarticles__oxtitle->value}] [{$product->oxarticles__oxvarselect->value}]"></a>
            <a href="[{$_productLink}]" class="viewAllHover glowShadow corners" title="[{ $product->oxarticles__oxtitle->value}] [{$product->oxarticles__oxvarselect->value}]"><span>[{oxmultilang ident="WIDGET_PRODUCT_PRODUCT_DETAILS"}]</span></a>
            <img src="[{$product->getThumbnailUrl()}]" alt="[{ $product->oxarticles__oxtitle->value}] [{$product->oxarticles__oxvarselect->value}]">
        </div>
    [{/block}]

Kann es sein, dass Du es einfach nur nicht siehst, da es unter einer Ebene liegt?
Mein Code sollte funzen.

Glaube ich nicht. Nutze Firebug im Firefox un der zeigt mir absolut nichts an, wo eigentlich was sein müsste :frowning:

es is lediglich

div class pic…
a class slide…
a class view…
img
/div

hab das nur schnell zusammengefasst

brauche ich vllt noch ein assign der cat id?

Dann kann ich Dir auch nicht helfen. Ich habe das zwar nicht getestet, aber wenn Du die richtige OXID der Kategorie angegeben hast, den TMP Ordner geleert hast, sollte das eigentlich klappen.

Ich habe gerade extra noch einmal geschaut, die ID ist korrekt, produkte sind dieser auch zugeordnet und der tmp ordner wurde auch geleert, jedoch kein erfolg

Du hast das in die listitem_infogrid.tpl eingebunden? Und wenn Du im Frontend die Änderung begutachten willst, nutzt Du auch diese Ansicht?

genau, standardmäßig ist ja schon auf der startseite bei frisch eingetroffen infogrid eingestellt

edit: hatte jetzt auch übrigens mal ein span so reingesetzt ohne vorherige abfrage, das wird angezeigt, also muss es ja an der abfrage liegen?

edit: ich hab auch gerade mal isAssignedToCategory() probiert, das geht aber auch nicht, erhalte auch hier keinen fehler sondern einfach nur keine ausgabe auf der startseite

Ok, ich hatte gerade mal folgendes eingefügt:

var_dump($product);

Im Shop wird mir jetzt überall ein NULL angezeigt, was doch eigentlich heißt, dass $product keinen wert hat oder?

Du hättest übrigens ruhig mal erwähnen können, dass es offensichtlich nicht um die Produktseiten geht, sondern um die Startseite - Frisch eingetroffen.

Ich bin mir relativ sicher, dass wenn du die Kategorieseite besuchst, wo der Artikel aufgelistet wird, nämlich durchaus funktioniert.

Ne ne, es geht nich nur um die startseite… es geht allgemein um den anzeigetyp, in meinem fall eben infogrid… ich meinte nur, dass infogrid voreingestellt ist für die startseite… auf anderen seiten mit infogrid-ansicht habe ich auch keinen erfolg

Ok, sorry, dann weiß ich auch nicht mehr weiter. Ich hab das jetzt doch mal getestet, weil ich dachte, vielleicht funktioniert auch mein Code nicht. Bei mir funktioniert das aber wie gewollt.

Hab echt keine Idee mehr. Dann müssen jetzt die Profis ran:D:D

welche oxid version nutzt du? ich hab 4.7.5, vielleicht wurde da ja was geändert?

Ich hab eine 4.5, aber das dürfte in dem Fall egal sein, habe extra in der Source Code Doku geschaut.

Habe es gerade mit einer 4.5er version getestet und dort funktioniert es tatsächlich, in der 4.7.5 jedoch gehts nicht.