Hi zusammen,
kann es sein, dass $oView->getActCategory() in der Detailansicht nicht zur Verfügung steht? Ich möchte das Title Tag noch um die Kategorie ergänzen, in der sich der User gerade befindet.
Hi zusammen,
kann es sein, dass $oView->getActCategory() in der Detailansicht nicht zur Verfügung steht? Ich möchte das Title Tag noch um die Kategorie ergänzen, in der sich der User gerade befindet.
Hi coarsy,
rein logisch denke ich das es da auch direkt nichts verloren hat. Da ein Artikel in n Kategorien sein kann, woher soll der Shop genau wissen welche Kategorie du jetzt haben willst.
Wenn du jetzt immer die Kategorie nehmen würdest über die der Kunde auf die Detailseite kommt, ist das seo technisch nicht gut. Ausserdem würd die cannonical ziel seite keine Kategorie im Title tragen ?!
Ich habe das über eine eigene Funktion bei uns gelöst, da ich genau das Problem hatte. (Artikel A kann in n Kategorien sein)
Ich schau einfach nach ob Artikel A in dem Kategorie Pfad A(der der für mich wichtig im Title ist) ist und gebe dann den Namen der Kategorie auf Ebene 1 aus.(Wichtig: ich weiss das mein Artikel A im Kategorie Pfad A auf Ebene 1 nur in einer Kategorie ist).
Ich schätze bei dir werden die Artikel aber nur in einem Baum stecken, oder? Dann musst du natürlich logisch etwas anderes machen.
Aber vllt habe ich das nur zuuuu kompliziert gemacht.
PS: Wenn ein wenig code gewünscht ist, poste ich den gerne.
mfg Bernd Hasis
Guten Abend Bernd,
da hast Du natürlich recht. Auch meine Artikel stehen in diversen Kategorien. An diesen Fall habe ich noch gar nicht gedacht. Eventuell machts mehr Sinn, einfach den Titel des entsprechenden Produkts um die Art des Produkts zu Ergänzen. Wobei dann hier sämtliche Artikelbezeichnungen viel zu lang werden und mir die Listenansicht sprengen würden.
Sprich, bei diesem Artikel
http://www.meinestruempfe.de/Damen/Strumpfhosen/Il-Cairo-B.html
noch Strumpfhose mit in die Bezeichnung aufzunehmen. Das wollte ich eigentlich durch das Auslesen des jeweiligen Kategorienamens umgehen, so dass im Title-Tag diese Bezeichnung steht:
<title>Meine Strümpfe Shop | Il Cairo B | Strumpfhosen | online kaufen</title>
Code ist natürlich jederzeit gerne gewünscht, gar keine Frage
Hey,
hab dich nicht vergessen ;).
hier meine Funktion, aber ich denke das sie bei dir nicht ganz so Funktionieren wird.
[I] public function getSpecialCategoryTitle()
{
$oDb = oxDb::getDb();
$sGenericCatID = $this->getConfig()->getConfigParam('sGenericCatID');
$sQ = "select oxtitle from oxcategories c
inner join oxobject2category o2c on c.oxid= o2c.OXCATNID
where o2c.OXOBJECTID = ‘".$this->getId()."’ and c.oxrootid = '$KategorieIDdesHauptbaums’
and c.oxparentid != ‘oxrootid’ and c.oxparentid != ‘$KategorieIDdesHauptbaums’";
$sResultCategory = $oDb->getOne($sQ);
return $sResultCategory;
}[/I]
Die Funktion ist im Artikel implementiert.
Die Variable( $KategorieIDdesHauptbaums) beinhaltet bei mir den Hauptbaum in dem bei mir alle Artikel vorhanden sind, und genau das wird bei dir nicht sein. Du hast als Hauptbaum einmal Damen und einmal Herren. Hier müsstest du zusätzlich noch überprüfen in welchem Hauptbaum dein Artikel ist und anhand daran den Tiltle deiner Subkategorie laden. Zusätzlich ist bei mir noch eine zwischen Ebene vorhanden die bei dir nicht vorhanden ist(So wie es im Frontend ausschaut bei dir hast du Ebene 0(Damen, Herren) und Ebene 1 (das was dann aufklapt). Also müsstest du den query umbauen.
Ich denke in etwa so:
[I] $sQ = “select oxtitle from oxcategories c
inner join oxobject2category o2c on c.oxid= o2c.OXCATNID
where o2c.OXOBJECTID = '”.$this->getId()."’ and c.oxrootid = '$KategorieIDdesHauptbaums’
and c.oxparentid != ‘oxrootid’ and c.oxparentid = ‘$KategorieIDdesHauptbaums’";[/I]
und natürlich noch die Überprüfung implementieren in welcher Kategorie dein Artikel ist.
Ich hoffe ich habe dir ein wenig weiterhelfen können. Wenn noch fragen offen sind, einfach fragen .
mfg
Bernd Hasis