[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Universal-Navigation - Einstellungen ab 3ter Ebene - 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
megpro
Beiträge: 74
Registriert: 16. Nov 2006, 13:17
Wohnort: Sassnitz / Rügen

Universal-Navigation - Einstellungen ab 3ter Ebene

20. Mär 2011, 00:15

Moin,

es geht um http://www.redaxo.org/de/download/templ ... =&cat_id=2 diese Navigation.

Die benutze ich seit Jahren und habe sie in ca. 12 Webseiten in verschiedenen individuellen Szenarien im Einsatz. Inzwischen ist sie um Metaangaben erweitert und einige CSS-Klassen gewachsen. Insgesamt eine sehr gute und flexible Navigation, auf die ich nicht verzichten möchte.

ABER: was ich bis heute nicht wirklich verstanden habe ist die "Monster-Argumenten-Schlange"
Was eine Subnavi oder Breadcrumb ist, ist mir klar. aber welche Auswirkungen haben die Werte in der "Argumenten-Schlange" wenn man $navigation, $nav_main, $nav_sub, $nav_special, $sitemap oder $breadcrumbs wählt ??? Es geht dabei immer um die ersten drei werte der "Monster-Argumenten-Schlange".

Laut Anleitung eigentlich ganz einfach:

* $cid = ID der Kategorie, ab der die Navigation aufgebaut werden soll ("0" für Root)
* $level = Ebene, ab der die Navigation aufgebaut werden soll
* $levelDepth = Ebenentiefe ("0" für "bis zur letzten Ebene")

Aber so richtig logisch ist das nicht es funktioniert nicht wirklich.

Ich habs bisher immer hinbekommen, oft durch mehrere Tests aber an einer simplen Navi scheiter ich nun.

Es soll einfach nur eine Subnavi angezeigt werden, welche ab der dritten Ebene beginnt und auch dort endet. Die anderen Ebenen sollen nicht angezeigt werden. Unabhängig davon, in welcher Kategorie man sich befindet.

Was zum Geier muss man eingeben?

Und wenn jemand weiß wie es geht: sag mir bitte WARUM es so geht :?:

Freue mich auf Inspirationen....

Gruß Jens

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

19. Jun 2011, 12:16

Hi Jens,

versuche das mal so für die dritte Ebene:

print $nav_sub = generateNavigation($path[2], 0, 0, $clang, $path, 0, 0, 1, 1, 1, 1);

Das funktioniert bei mir. Was nicht funktioniert ist, dass die aktiven Navigationspunkte auchhervorgehoben werden. Das lisget evtl. an der Art wie Active abgefragt wird. Hast Du da zufällig etwas funktionierendes?

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

19. Jun 2011, 17:35

hi
deine frage kann ich dir leider nicht beantworten, aber ich nutze generell nur noch die rex_navigations Factory und kann damit echt so ziemlich alles bauen was benötigt wird.
metainfo erweiterunf habe ich auch irgendwo hier im forum oder im wiki mal gesehen, geht wohl auch.

Code: Alles auswählen

<?php // PHP oberhalb von Html;?>
<?php $P = explode("|",$this->getValue("path").$this->getValue("article_id")."|"); $rexnav = rex_navigation::factory();?>

<?php // erste ebene ;?>
<?php echo $rexnav->get(0,1,FALSE,TRUE); ?>

<?php // zweite ebene ;?>
<?php echo $rexnav->get($P[1],1,FALSE,TRUE); ?>

<?php // dritte ebene ;?>
<?php if (isset($P[2]) && $P[2] > 0) echo $rexnav->get($P[2],1,FALSE,TRUE); ?>
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

19. Jun 2011, 20:41

Ok.

Hast mich übrzeugt. Danke!

Folgendes hatte mir gefehlt:

Code: Alles auswählen

if (isset($P[2]) && $P[2] > 0) 
Grüße ins Phantasialand :-)
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

19. Jun 2011, 20:57

jau damit hatte ich auch immer probleme aber dank gregor nicht mehr ;)
nächtle
der richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

24. Jun 2011, 13:26

Hi...
hab da ne nebenfrage.
Ab der 2ten Ebene sollen die Unterpunkte der 3./4. ect
einfach mitaufgeklappt werden (wenn vorhande und online;)).
Ist das iwie möglich mit der rexnav?

Code: Alles auswählen

// funzt so leider nicht
$rex_navigation = '';
$rex_navigation .= $rex_nav->get(0,1,FALSE,TRUE);
$rex_navigation .= $rex_nav->get($path1,1,FALSE,TRUE);
if (isset($path1) && $path2 > 0) {
  $rex_navigation .= $rex_nav->get($path2,3,TRUE,TRUE);
} 
Danke. grz. Chris

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

24. Jun 2011, 13:41

hi chris
sollte damit gehen

Code: Alles auswählen

<?php // PHP oberhalb von Html;?>
<?php $P = explode("|",$this->getValue("path").$this->getValue("article_id")."|"); $rexnav = rex_navigation::factory();?>

<?php if (isset($P[2]) && $P[2] > 0) echo $rexnav->get($P[2],5,TRUE,TRUE); ?>
ungetestet
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

24. Jun 2011, 13:47

funzt... Danke.
grz. Chris

Benutzeravatar
Manuel.Schmöllerl
Beiträge: 148
Registriert: 10. Apr 2006, 23:48
Wohnort: Wien
Kontaktdaten: Website

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

12. Dez 2012, 15:25

Danke für diese Tipps.
Das habe ich gerade benötigt, wie einen Bissen Brot :D

Beste Grüße
Manuel
Schmöllerl Consulting

blueguide
Beiträge: 6
Registriert: 5. Dez 2012, 02:06

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

11. Jul 2013, 03:50

Alles bauen mit der Nav Factory? Aber ich kann nichts bauen, was mir mehr als einen Standard-Artikel anzeigt, oder?

Leider umständlich gelöst in Redaxo, dass jeder Artikel in einer Kategorie stecken muss, um in der Navigation aufzutauchen :(

Momenten benutze ich dies, um die Unterkategorien der Haupt-Kategorien anzuzeigen:
<?php
$P = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$rexnav = rex_navigation::factory();
echo $rexnav->get($P[1],-1,TRUE,TRUE);
?>
Und dies, um die Artikel anzuzeigen:
<?php
$cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
$articles = $cat->getArticles(true); // Alle Artikel der Kategorie auslesen, die Online sind

if (count($articles) > 1) {
echo "<ul>";
for ($i = 0; $i < count($articles); $i++) {
if ($articles[$i]->getId() != $this->getValue("article_id")) {
echo "<li><a href=\"" . $articles[$i]->getUrl() . "\" target=\"_self\">" . $articles[$i]->getName() . "</a></li>";
} else {
echo "<li class=\"rex-current\">" . $articles[$i]->getName() . "</li>";
}
}
echo "</ul>";
}
?>
Aber wie bekomme ich es hin, dass zu den Artikeln jeweils die Kategorie mit ausgeben wird, praktisch beide Ausgaben optimal zu einer Navigation verschmelzen?

Leider verzweifelt...
Sandro

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

11. Jul 2013, 08:25

HI...
in dem du Dir über: $cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
den Kategorienamen rausholst:

Code: Alles auswählen

$cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
$catid   = $cat->getId();
$catname = $cat->getName();

$cat_out = '<li><a href="'.rex_getUrl($catid, $REX['CUR_CLANG']).'">'.$catname.'</a></li>';
echo $cat_out;
# ungetestet
 
grz. Chris

blueguide
Beiträge: 6
Registriert: 5. Dez 2012, 02:06

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

11. Jul 2013, 12:32

Hallo Darwin,

ja, den aktuellen Namen der aktuellen Kategorie habe ich auch schon gefunden und gebe den aus, das geht. Aber ich kriege es nicht hin, dass ich wie im Standard-Rex-Navigation-Factory die Kategorien sehe ($rexnav2->get($P[1],3,TRUE,TRUE)) und die mit den Artikeln verbinden, also das beste aus beiden Welten habe.

Ich würde gern die Artikelausgabe so anpassen, dass er zudem noch die Kategorien drüber anzeigt.

Habs jetzt erstmal getrennt gelöst, aber optimal ist das nicht:
http://www.wp10630607.server-he.de/natu ... ueten.html

Ciao,
Sandro

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

11. Jul 2013, 12:44

Hi,
wenn ich Dich richtig versteh, möchtest du:

1. Die Kategorie als Navi-Titel
2. Die Kategorie als Navigations-Element (Ebene 1)
3. Die Artikel der aktiven Kategorie als Baum darunter (Ebene2)

zusätzlich noch über jeder Artikel-Ausgabe (Contentbereich)
als (z.B. H1) den aktiven Artikel bzw. Kategorienamen

:?:

grz. Chris

blueguide
Beiträge: 6
Registriert: 5. Dez 2012, 02:06

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

11. Jul 2013, 13:27

Ja richtig, das wäre optimal. Der Code von oben ist unverändert aktiv :)

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

11. Jul 2013, 14:31

HI...
sowas in der Art:

Code: Alles auswählen

# Cat als Titel
$cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
$cname = $cat->getName();
echo '<h1>'.$cname.'</h1>';


# Navi
$cat_childs = OOCategory::getChildrenById(DEINE ROOT CAT ID, $ignore_offlines = false, $clang = false); # DEINE ROOT CAT ID: Hier die ID von Naturheilkunde

echo '<ul class="categories">';
foreach($cat_childs as $cat_child)
{
    $catname = $cat_child->getName();
    $catid   = $cat_child->getId();
    $articles = $cat_child->getArticles(true);
    
    echo '<li><a href="'.rex_getUrl($catid).'">'.htmlspecialchars($catname).'</a>';
    
    if(count($articles) > 1)
    {
        echo '<ul class="articles">';
        foreach($articles as $art)
        {
            if ($art->isStartArticle())
                continue;
            
            if ($art->getId() == REX_ARTICLE_ID)
                continue;
                
            $artid = $art->getId();
            $artname = $art->getName();
        
            echo '<li><a href="'.rex_getUrl($artid).'">#### '.htmlspecialchars($artname).'</a></li>';
        }
        echo '</ul>';
    } 
    echo '</li>';

}
echo '</ul>';

# ungetestet
grz. Chris

blueguide
Beiträge: 6
Registriert: 5. Dez 2012, 02:06

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

11. Jul 2013, 15:07

Wow, das ist schon nahezu perfekt! Super.

Nur, wie kriege ich die Kategorie-Nummer automatisch da rein?
$catnr = OOCategory::getCategoryById(REX_CATEGORY_ID);
$root_cat = OOCategory::getChildrenById($catnr, $ignore_offlines = false, $clang = false);
geht nicht. Ich bin leider kein PHP-Mensch und verstehe nicht, warum was an einer Ecke geht und an der anderen nicht. Und ist es möglich in die Artikel nur tiefer rein zu gehen, wenn es die aktuellen sind?

Danke!
Sandro

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: Universal-Navigation - Einstellungen ab 3ter Ebene

11. Jul 2013, 15:15

HI,
mit getChildrenById werden die UnterKategorien einer bestimmten Kategorie rausgeholt. (via ID).
Wenn du dies nun dynamisch habne möchtest, könntest du über die getRootCategories gehen und
abchecken ob Unterkategorien (getChildren()) vorhanden sind ... schau Dir einfach mal
die verschiedenen Navi Templates im Donwloadbereich durch.. da kannste Dir sicherlich dein
eigenes Script zusammen schustern.

grz. Chris

Zurück zu „Allgemeines [R4]“