Dynamische Navigation in CPO4 erklaert:
getParent()
@MarkusR: Leider läuft die Funktion getParent() ins Leere, wenn dem übergeordneten Navigationseintrag gar keine Rubrik zugeordnet ist, sondern ein "externer Link".(Bei den "Eigenschaften des Navigationselementes") Hintergrund ist, dass ich einer übergeordneten Rubrik keine Artikel zuweisen möchte. Stattdessen soll man direkt eine untergeordnete Rubrik angezeigt bekommen. Gibt es dafür eine andere Lösung als "externer Link" oder kann man die getParent() Funktion erweitern, so dass sie in diesem Fall den Namen des "rubriklosen" Navigationselementes zurückgibt?
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Tja... Navigation ohne Inhalt ist nicht so einfach mit ConPresso.
Du könntest aber doch einfach als externen Link mit target _self die Rubrik angeben (einfach die komplette URL), zu der gesprungen werden soll...
hab's gerade gestestet... geht einwandfrei und so, als wäre es so gedacht
Du könntest aber doch einfach als externen Link mit target _self die Rubrik angeben (einfach die komplette URL), zu der gesprungen werden soll...
hab's gerade gestestet... geht einwandfrei und so, als wäre es so gedacht
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Werde doch mal bitte ausführlicher... daß dann keine Rubrik-ID zurückgeliefert wird, ist mir schon mal klar.
Aber welche Konsequenzen das für Dich hat, habe ich jetzt noch nicht kapiert... was fängst Du mit der Rubrik-ID an oder würdest Du anfangen wollen?
Ansonsten kann man sich natürlich auch den Namen zurückliefern lassen:
Aber welche Konsequenzen das für Dich hat, habe ich jetzt noch nicht kapiert... was fängst Du mit der Rubrik-ID an oder würdest Du anfangen wollen?
Ansonsten kann man sich natürlich auch den Namen zurückliefern lassen:
Code: Alles auswählen
function getParent($actRubric) {
$navArray = getNavigation();
// erstmal die Rubrik selbst suchen
$rubrik_left = '';
$rubrik_right = '';
$rubrik_level = '';
for ($ip;$ip<count($navArray);$ip++) {
if ($actRubric == $navArray[$ip]['rubric']['id'] OR $actRubric == $navArray[$ip]['rubric']['name']) {
$rubrik_left = $navArray[$ip]['l'];
$rubrik_right = $navArray[$ip]['r'];
$rubrik_level = $navArray[$ip]['level'];
}
}
// Übergeordneten Eintrag suchen
foreach ($navArray as $key=>$value) {
if (($value['level'] == $rubrik_level-1) AND ($value['l'] < $rubrik_left) AND ($value['r'] > $rubrik_right)) {
$parentName = $value['caption'];
}
}
return $parentName;
}
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Sorry. Das war wirklich etwas minimalistisch. Also ich benutze den Parentnamen und den Namen der aktuellen Rubrik um in einer Kopfzeile die Parentrubrik und die aktuelle Rubrik hintereinander anzuzeigen. Das Problem entsteht erst, wenn ich eine Unterrubrik aufrufe, die unter einem "rubriklosen" Navigationslelement hängt.
Die Frage ist also, wie man an den Namen des Parent-Navigationselements rankommt, wenn getParent nichts zurückgibt.
Code: Alles auswählen
$ParRubrik=getParent($aktRubrik);
if ($ParRubrik !== NULL AND $ParRubrik !== 'Rootobjekt') echo "<span class='header1'>".getParent($aktRubrik)." - </span>";
$navArray = getNavigation();
for ($ip;$ip<count($navArray);$ip++) {
if ($aktRubrik == $navArray[$ip]['rubric']['id'])
{$RubrikName=$navArray[$ip]['rubric']['name'];
echo '<span class="secondheader">'.$RubrikName.'<!--RubrikID: '.$navArray[$ip]['rubric']['id'].'--></span>'; }
}
Re: Dynamische Navigation in CPO4 erklaert:
Hallo,balu hat geschrieben: [...]
Die Navigation wird als verschachtelte <ul>-Liste ausgegeben. Diese laesst sich mit den passenden CSS-Definitionen in jeder erdenklichen Form formatieren.
[...]
Balu
das dynamische Menü funktioniert bei mir soweit, nur dass es hässlich ist wie die nacht. habe kurzfristig (selfhtml ...) nix zum Formatieren von <UL>-Listen mittels CSS gefunden. kann ich da bitte noch 1 .. 2 Hinweise oder Codeschnipsel bekommen?
danke und Gruß
Christian.
- Matthias V
- Modul-Entwickler
- Beiträge: 1251
- Registriert: 01.01.1970 01:00
- Wohnort: Sondershausen
- Hat sich bedankt: 54 Mal
- Danksagung erhalten: 147 Mal
- Kontaktdaten:
Hallo Christian,
ich habe erstmal alle Formatierungen von den Listen gelöscht und die Links als Blockelemente formatiert. diese benötigen dann noch eine exakte breitenangabe, damit der Link im IE auf voller Breite funktoniert und auch der hover-Effekt.
Das ist nur mal ins blaue geschrieben natürlich musst du überall noch was davorschreiben, damit diese Formatierungen nur für die Navigation gelten. Wie z.B. div#navi ul, div#navi li, falls du die Navigation in einem
Hoffe kannst mit diesen Schnipseln was anfangen.
Kannst auch einfach die Profile von einigen Authoren im Forum anschauen und dann bei umgesetzten Projekten schauen, wie es dort umgesetzt ist.
Gruß Matthias
ich habe erstmal alle Formatierungen von den Listen gelöscht und die Links als Blockelemente formatiert. diese benötigen dann noch eine exakte breitenangabe, damit der Link im IE auf voller Breite funktoniert und auch der hover-Effekt.
Code: Alles auswählen
ul, li { display: inline; margin: opx; padding: 0px; list-style: none; }
a, a:link, a:visited, a.active, a:hover { display: block; width: 200px; text-decoration: none; color: black; background-color: #AAAAAA;}
a:hover { background-color: yellow; color: red; }
li a { margin-left: 10px; width: 190px; }
li li a {margin-left: 20px; width: 180px; }
li li li a {margin-left: 30px; width: 170px; }
Code: Alles auswählen
<div id="navi">.. Deine Navigation, z.B. <?php printnavigation(); ?> ... </div>
Kannst auch einfach die Profile von einigen Authoren im Forum anschauen und dann bei umgesetzten Projekten schauen, wie es dort umgesetzt ist.
Gruß Matthias
Zuletzt geändert von Matthias V am 27.01.2006 20:56, insgesamt 1-mal geändert.
mod_Guestbook 4.1.0
Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Code: Alles auswählen
ul { list-style-image:url(../images/plus.gif); }
li.active { list-style-image:url(../images/minus.gif); }
ul a:link { color: #000000; font-weight: bold; text-decoration: none; }
ul a:visited { color: #000000; font-weight: bold; text-decoration: none; }
ul a:hover { color: #000000; font-weight: bold;text-decoration: underline; }
Hallo,
danke für Eure hilfreichen Antworten,
habe ich erst jetzt entdeckt.
Ich nutze nun doch das Modul von MarkusR, habe es erfolgreich an meine Bedürfnisse angepasst.
Jetzt möchte ich für Rubriken, die keine Artikel enthalten die "Unterrubriken" in der nächsten navigationsebene anzeigen lassen. habe dazu hier im Forum einen neuen Thread aufgemacht. Vielleicht könnt Ihr ja dort mal dazu Stellung nehmen.
Gruß
Christian.
danke für Eure hilfreichen Antworten,
habe ich erst jetzt entdeckt.
Ich nutze nun doch das Modul von MarkusR, habe es erfolgreich an meine Bedürfnisse angepasst.
Jetzt möchte ich für Rubriken, die keine Artikel enthalten die "Unterrubriken" in der nächsten navigationsebene anzeigen lassen. habe dazu hier im Forum einen neuen Thread aufgemacht. Vielleicht könnt Ihr ja dort mal dazu Stellung nehmen.
Gruß
Christian.
Hi,
habe etwas versucht, die Funktion printnavigation() für mein Vorhaben zu nutzen. Dazu wollte ich mir eine Liste aller aufgeklappten Rubriken innerhalb der aktuellen ertellen lassen und diese dann ausgeben. Irgendwie funktioniert die Geschichte mit der $parent nicht, selbst wenn ich dort "manuell" eine Rubriknummer eingebe und mich dann in diese "begebe".
Wo liegt mein Denkfehler?
Gruß
Christian.
habe etwas versucht, die Funktion printnavigation() für mein Vorhaben zu nutzen. Dazu wollte ich mir eine Liste aller aufgeklappten Rubriken innerhalb der aktuellen ertellen lassen und diese dann ausgeben. Irgendwie funktioniert die Geschichte mit der $parent nicht, selbst wenn ich dort "manuell" eine Rubriknummer eingebe und mich dann in diese "begebe".
Code: Alles auswählen
<?php printnavigation('',0,99,$cpoRubric['id'],true); ?>
<?php printnavigation('',0,99,13,true); ?>
Gruß
Christian.
Ich habe keine Ahnung. Leider.
-
- ConPresso-Newbie
- Beiträge: 4
- Registriert: 08.10.2010 09:04
Menü PlugIN
Warum gibt es ein rekursives Menü das auch eine mehrsprachige Site unterstützt nicht einfach als PlugIn fertig, so wie das bei allen OpenSource Systemen, zB Joomla oder WordPress, der Fall ist?
Überhaupt gibt es leider viel viel zu wenige PlugIns für ConPresso was mich mal wieder fast vom Einsatz abgebracht hätte, wäre da im Moment nicht die Anforderung nac einem klassischem CMS und keinem Blog.
Für ConPreso 3 hatte ich mir damals mal ein rekursives Menü selbst geschrieben, was für ein Aufwand.
Fertige mehrstufige und dynamische Menüsysteme sollten nun wirklich zur Standard Auslieferung gehören, braucht doch fast jeder.
Oder habe ich was verpasst?
Überhaupt gibt es leider viel viel zu wenige PlugIns für ConPresso was mich mal wieder fast vom Einsatz abgebracht hätte, wäre da im Moment nicht die Anforderung nac einem klassischem CMS und keinem Blog.
Für ConPreso 3 hatte ich mir damals mal ein rekursives Menü selbst geschrieben, was für ein Aufwand.
Fertige mehrstufige und dynamische Menüsysteme sollten nun wirklich zur Standard Auslieferung gehören, braucht doch fast jeder.
Oder habe ich was verpasst?
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
- balu
- ConPresso-Entwickler
- Beiträge: 1748
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 81 Mal
- Danksagung erhalten: 133 Mal
Hi,
ich verstehe das Problem auch nicht so ganz. Eine Menüstruktur mit printNavigation() - oder in 4.1 per Tag ist doch komplett ohne irgendwelche Plugins machbar?
Klar, man muss CSS können, um das zu formatieren, aber das braucht man als Webmaster für den Rest der Seite doch auch.
Balu
ich verstehe das Problem auch nicht so ganz. Eine Menüstruktur mit printNavigation() - oder in 4.1 per Tag ist doch komplett ohne irgendwelche Plugins machbar?
Klar, man muss CSS können, um das zu formatieren, aber das braucht man als Webmaster für den Rest der Seite doch auch.
Balu
Bartels.Schöne
ConPresso Support & Development
ConPresso Support & Development