Liebe Redaxo-Gemeinde
Ich möchte gerne die Redaxo-Navigation so anpassen, dass neben dem jeweiligen Kategorie-Namen ein kleiner Textzusatz gezeigt wird.
- Home - hier findest du alles
- Über uns - wer sind wir überhaupt
- Aktuelles - was wann wo
Der Textzusatz wird in einer anderen Schrift angezeigt als der Navipunkt. Meine Idee war es nun, diesen Zusatz ins Beschreibung-Feld des jeweiligen Startartikels zu schreiben (also unter Metadaten/Sonstiges).
Ich nehme mal an, dazu müsste ich das File class.rex_navigation.inc.php anpassen, richtig? Den Ausgabe-Code für die Navi habe ich in diesem File gefunden. Wie bringe ich ihn nun aber dazu, vom Startartikel auch die Beschreibung auszugeben?
Vielen Dank
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/
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/
Re: Navigation mit Zusatz
Ich habe selber eine Lösung gefunden.. Ist denke ich gar nicht mal so schlecht!
Das ganze muss beim File class.rex_navigation.inc.php ab Zeile 232 ergänzt werden.
Code: Alles auswählen
$startartikel = $nav->getStartArticle();
$zusatz = $startartikel->getValue('art_zusatz');
$return .= '<a'. $linkClass .'href="'.$nav->getUrl().'">'.htmlspecialchars($nav->getName()).'<span>'.$zusatz.'</span></a>';
- ralf.schlott
- Beiträge: 625
- Registriert: 5. Dez 2007, 21:22
- Wohnort: Hamburch
- Kontaktdaten: Website
Re: Navigation mit Zusatz
Klingt interessant. Wie gestaltest du die Ausgabe?
Aber sowas könnte man doch auch darüber erreichen, dass du Kategorie und Artikel unterschiedlich beschriftest!
Aber sowas könnte man doch auch darüber erreichen, dass du Kategorie und Artikel unterschiedlich beschriftest!
- Danke für Redaxo! -
http://www.prenzlweb.de
http://www.prenzlweb.de
Re: Navigation mit Zusatz
Ich leite mir für sowas immer eine Klasse von rex_navigation ab.
Hier mal eine Beispielklasse, bei der die Navigationszugehörigkeit über die Metadaten (cat_domain) bestimmt werden kann.
Hier mal eine Beispielklasse, bei der die Navigationszugehörigkeit über die Metadaten (cat_domain) bestimmt werden kann.
Code: Alles auswählen
class foobar_navigation extends rex_navigation
{
var $domain;
/*public*/ function factory()
{
static $class = null;
if(!$class)
{
// ----- EXTENSION POINT
$class = rex_register_extension_point('REX_NAVI_CLASSNAME', 'foobar_navigation');
}
return new $class();
}
/*public*/ function get($category_id = 0,$depth = 3,$open = FALSE, $ignore_offlines = FALSE, $domain = 'main')
{
if(!$this->_setActivePath()) return FALSE;
$this->domain = $domain;
return parent::get($category_id, $depth, $open, $ignore_offlines);
}
/*protected*/ function _getNavigation($category_id,$ignore_offlines = TRUE)
{
static $depth = 0;
if($category_id < 1)
$nav_obj = OOCategory::getRootCategories($ignore_offlines);
else
$nav_obj = OOCategory::getChildrenById($category_id, $ignore_offlines);
$return = "";
$count = 0;
foreach($nav_obj as $nav)
{
//echo '<pre>';var_dump($nav);echo '</pre>';exit;
if(false === strpos($nav->getValue('cat_domain'), '|'.$this->domain.'|'))
continue;
$liClass = '';
$linkClass = '';
// classes abhaengig vom pfad
if($nav->getId() == $this->current_category_id)
{
$liClass .= ' rex-current';
$linkClass .= ' rex-current';
}
elseif (in_array($nav->getId(),$this->path))
{
$liClass .= ' rex-active';
$linkClass .= ' rex-active';
}
else
{
$liClass .= ' rex-normal';
}
// classes abhaengig vom level
if(isset($this->classes[$depth]))
$liClass .= ' '. $this->classes[$depth];
if(isset($this->linkclasses[$depth]))
$linkClass .= ' '. $this->linkclasses[$depth];
$linkClass = $linkClass == '' ? '' : ' class="'. ltrim($linkClass) .'"';
$return .= '<li class="rex-article-'. $nav->getId() . $liClass .'">';
$return .= '<a'. $linkClass .' href="'.$nav->getUrl().'"><strong>'.htmlspecialchars($nav->getName()).'</strong>';
if(!$depth AND (0 !== strcmp($nav->getValue('catname'), $nav->getValue('name'))))
$return .= ' <em>'.htmlspecialchars($nav->getValue('name')).'</em>';
$return .= '</a>';
$depth++;
if(($this->open OR
$nav->getId() == $this->current_category_id OR
in_array($nav->getId(),$this->path))
&& ($this->depth > $depth OR $this->depth < 0))
{
$return .= $this->_getNavigation($nav->getId(),$ignore_offlines);
}
$depth--;
$return .= '</li>';
$count++;
}
if($count)
$return = '<ul class="rex-navi'. ($depth+1) .'">'.$return.'</ul>';
return $return;
}
}
- ralf.schlott
- Beiträge: 625
- Registriert: 5. Dez 2007, 21:22
- Wohnort: Hamburch
- Kontaktdaten: Website
Re: Navigation mit Zusatz
Meine Güte, wo du überall mitliest. Das muss ich mir wirklich mal ansehen. Melde mich dann, wenn es gut geworden ist!
Danke! Ralf
Danke! Ralf
- Danke für Redaxo! -
http://www.prenzlweb.de
http://www.prenzlweb.de