Seite 1 von 1
Startartikel der übergeordneten Kategorie anzeigen lassen?
Verfasst: 1. Jul 2009, 08:41
von netable
Hallo alle zusammen,
mit
hole ich den Startartikel der aktuellen Seite.
Wie kann ich den Startartikel der übergeordneten Seite dort holen?
Grüße
Verfasst: 9. Jul 2009, 11:44
von netable
Hallo,
hat denn wirklich keiner ne Idee....
NetAble
Verfasst: 9. Jul 2009, 11:56
von psiramo
genau das zu verwirklichen steht auf meiner heutigen to-do-liste. wenn ich eine lösung habe, gebe ich bescheid und stell den code hier rein.
Verfasst: 9. Jul 2009, 12:51
von Amadon
Hallo
hmm das könnte wie folgt aussehen
Code: Alles auswählen
$article = OOArticle::getCategoryStartArticle(REX_CATEGORY_ID);
ist aber nur ne erste idee
hmm oder meinst du den start artikel der übergeornetetn Kategorie
Code: Alles auswählen
$article = OOArticle::getCategoryStartArticle($this->getParentId());
gruß
Amadon
Verfasst: 9. Jul 2009, 13:37
von psiramo
@Amadon
ich glaube, das ist es nicht, wonach netable sucht. er will ja den startartikel der _über_geordneten kategorie.
deshalb, empfehle ich
@netable
diesen
Code: Alles auswählen
//id der übergeordneten kategorie
$parent_category_id = $article_object->getParentId();
//print $parent_category_id;
//übergeordnete kategorie als objekt
if($parent_category_id !=0){
$parent_category_object = OOCategory::getCategoryById($parent_category_id);
//print $parent_category_object->getUrl();
//print $parent_category_object->getName();
};
wobei article_object der aktuelle artikel als objekt sein muss.
Verfasst: 9. Jul 2009, 14:06
von Amadon
bin ja noch nicht so ein profi in redaxo aber steht bei uns im prinzip nicht das selbe nur halt eben unterschiedliche wege dahin?
Verfasst: 9. Jul 2009, 14:32
von psiramo
Amadon hat geschrieben:bin ja noch nicht so ein profi in redaxo
ich auch nicht.
den zweiten teil deiner antwort habe ich beim erstenmal lesen offenbar übersehen.
auch wenn dein code grundsätzlich stimmen mag, beinhaltet er eine fehlerquelle: nämlich immer dann, wenn eine kategorie kein parent hat...
Verfasst: 9. Jul 2009, 14:53
von Amadon
stimmt müsste ich auch noch ne if abrage mit einbauen
Verfasst: 14. Jul 2009, 07:30
von netable
Hey
erstmal vielen dank für Eure mühen
Ich habs hiermit versucht:
Code: Alles auswählen
<?php $art = new article(); $art->OOArticle::getCategoryStartArticle($this->getParentId()); $art->getArticle(); print $art->getArticle(); ?>
bekomme aber einen
Code: Alles auswählen
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
fehler, stehe aber etwas auf dem schlauch und finde den fehler nicht wieso, weil eigendlich ist der weg doch OK...?
Grüße
NetABle
Verfasst: 14. Jul 2009, 08:43
von Thomas.Blum
Hej,
laut deinem Code möchtest du den kompletten Artikel der übergeordneten Kategorie in einem anderen Artikel ausgegeben.
Das ist aus SEO Sicht nicht fein. Ich würde da eher eine Weiterleitung einbauen.
vg Thomas
Verfasst: 14. Jul 2009, 09:09
von netable
Hi
Danke fuer den Hinweis es handelt sich dabei um ein Layoutelement mit dem ich eine etwas andere navigation darstellen möchte. Nun geht es eigendlich um den startartikel bzw./und dessen inhalt, eine spezielle Navigation die nur aus der übergeorneten ebene funtioniert und immer relativ zur untergeordneten sein muss.
Aber warum kommt denn der fehler? Liegt es ggfs daran das ich den ganzen Artikel sozusagen mit haut und haaren hole ???
Vielen dank für die Hilfe
Grüße
NetAble
Verfasst: 14. Jul 2009, 09:33
von Xong
netable hat geschrieben:bekomme aber einen
Code: Alles auswählen
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
fehler, stehe aber etwas auf dem schlauch und finde den fehler nicht wieso, weil eigendlich ist der weg doch OK...?
Nee!
Eher so:
Code: Alles auswählen
<?php
if($this->getParentId())
{
$art = OOArticle::getCategoryStartArticle($this->getParentId());
echo $art->getArticle();
}
?>
Verfasst: 14. Jul 2009, 19:36
von Gregor.Harlan
Xong hat geschrieben:Nee!
Eher so:
Code: Alles auswählen
<?php
if($this->getParentId())
{
$art = OOArticle::getCategoryStartArticle($this->getParentId());
echo $art->getArticle();
}
?>
wird nicht funktionieren, da die klasse OOArticle die Methode getArticle() nicht kennt. Ich denke, so müsste es funktionieren:
Code: Alles auswählen
if($this->getParentId())
{
$art = new rex_article;
$art->setArticleId($this->getParentId());
echo $art->getArticle();
}
Gruß, Gregor
Verfasst: 14. Jul 2009, 19:59
von netable
Hi
Danke für Eure Unterstützung ich bekomme noch folgende Fehlermeldung:
Code: Alles auswählen
Fatal error: Call to undefined method article::getParentId()
DANKE
NetAble
Verfasst: 14. Jul 2009, 20:19
von Gregor.Harlan
Hi,
probiers mal so:
Code: Alles auswählen
if($this->getValue('category_id'))
{
$art = new rex_article;
$art->setArticleId($this->getValue('category_id'));
echo $art->getArticle();
}
Gruß, Gregor
Verfasst: 29. Jul 2009, 17:25
von netable
Hey
nochmal danke für die rege hilfe, leider bekommeich nun die Meldung
Kann es sein das das am Redaxo 3.2 liegt, den ich habe fälschlicherweise das falsche Forum erwischt
*hmpf*
Kann ich das dort auch umsetzten...?
Gruß
Verfasst: 29. Jul 2009, 17:27
von Thomas.Blum
Hej,
schreibe article anstatt rex_article
vg Thomas
Verfasst: 29. Jul 2009, 17:32
von netable
Hey
danke
das erstmal geholfen, nun bekomme ich keinen Fehler aber auch nicht den Startartikel der übergeordneten Kategorie, hasst Du da vielleicht noch ne idee?!
Code: Alles auswählen
<?php if($this->getValue('category_id'))
{
$art = new article;
$art->setArticleId($this->getValue('category_id'));
echo $art->getArticle();
}
?>
Danke
NetAble
Verfasst: 31. Jul 2009, 09:47
von netable
@all
Ich hab's - die Problemlösung ist
Code: Alles auswählen
<?php
$cat = OOCategory::getCategoryById($this->getValue('category_id'));
$parent = $cat->getParent();
$art = new article();
$art->setArticleId($parent->getId());
print $art->getArticle();
?>
Nochmal vielen dank an die gemeinschaft für die Hilfe....
Grüße
NetAble