[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Sitemap Oberkategorie ermitteln - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
claudihey
Beiträge: 117
Registriert: 22. Nov 2008, 16:06
Wohnort: Bingen am Rhein
Kontaktdaten: Website

Sitemap Oberkategorie ermitteln

7. Dez 2015, 09:36

Guten Morgen zusammen,

gerade stehe ich ein bisschen auf dem Schlauch...
Ich möchte eine Sitemap erstellen, in der die Unterkategorien ausgelesen werden, die in einer bestimmten Kategorie (ID wird über REX_VALUE[1] geliefert) stehen. Das klappt auch. Aber jetzt möchte ich noch die Oberkategorie mit Namen und URL ausgeben. Da weiß ich gerade nicht weiter...

Code: Alles auswählen

<?php


$category = OOCategory::getCategoryById(REX_VALUE[1]);
$categories = $category->getChildren();
echo $lev1;
echo '<div class="sitemap">';
echo '<ul>';
foreach ($categories as $c)
{
  
  if ($c->getId() == $path2)
  {
    echo '<li><a class="active" href="'.rex_getURL($c->getId()).'">';
    echo $c->getName();
    echo '</a></li>';
  }
  else
  {
    echo '<li><a href="'.rex_getURL($c->getId()).'">';
    echo $c->getName();
    echo '</a></li>';    
  } 
    

}

echo  '</ul></div>';
?>
Kann jemand helfen?
Danke und Gruß,
Claudia

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Sitemap Oberkategorie ermitteln

7. Dez 2015, 10:02

Hi,

OOCategoty hat eine getParent() Methode über die man das Elternteil der Kategorie bekommt, siehe http://blumbeet.com/files/cheatsheet_redaxo_42.pdf. Ich vermute das du das suchst.

Benutzeravatar
claudihey
Beiträge: 117
Registriert: 22. Nov 2008, 16:06
Wohnort: Bingen am Rhein
Kontaktdaten: Website

Re: Sitemap Oberkategorie ermitteln

7. Dez 2015, 10:48

Danke, RexDude,

mit getParent() bin ich irgendwie nicht weitergekommen.
Ich hatte ja eigentlich schon die ID der Oberkategorie, daher habe ich es jetzt anders gelöst.
Manchmal braucht man halt ein paar Sekunden für eine Erleuchtung.. :D

Falls es jemanden interessiert, hier der komplette Code:

Eingabe:

Code: Alles auswählen

Bitte geben Sie die ID des Hauptmenüpunktes ein: <br />
<input type="text" size="30" name="VALUE[1]" value="REX_VALUE[1]" />
Ausgabe

Code: Alles auswählen

<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];

$category = OOCategory::getCategoryById(REX_VALUE[1]);
$categories = $category->getChildren();
$art = OOArticle::getArticleById(REX_VALUE[1]);

echo '<div class="sitemap">';
echo '<ul>';  
if ("REX_VALUE[1]" == $path1)
  {
    echo '<li><a class="active" href="'.rex_getURL(REX_VALUE[1]).'">';
    echo $art->getName();
    echo '</a></li>';
}
else
{
    echo '<li><a href="'.rex_getURL(REX_VALUE[1]).'">';
    echo $art->getName();
    echo '</a></li>';
}

foreach ($categories as $c)
{
  
  if ($c->getId() == $path2)
  {
    echo '<li><a class="active" href="'.rex_getURL($c->getId()).'">';
    echo $c->getName();
    echo '</a></li>';
  }
  else
  {
    echo '<li><a href="'.rex_getURL($c->getId()).'">';
    echo $c->getName();
    echo '</a></li>';    
  } 
    

}

echo  '</ul></div>';
?>

Zurück zu „Allgemeines [R4]“