ConPresso Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
Dynamische Navigation in CPO4 erklaert:
Gehe zu Seite Zurück  1, 2
 
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> ConPresso 4
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
balu
ConPresso-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1746

BeitragVerfasst am: 27.08.2005 10:27    Titel: Antworten mit Zitat

Hi Claus,

das Problem mit der Nummerierung der Elemente ist, dass die Navigation-IDs nichts mit der "Reihenfolge" derselben zu tun haben. Die Navigation an sich ist ein recht kompliziertes "nested sets"-Modell. Wenn Du Interesse an dem Algorithmus hast, such einfach mal im Netz Smile.

Balu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Marko
Gast





BeitragVerfasst am: 22.11.2005 12:31    Titel: getParent() Antworten mit Zitat

@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?
Nach oben
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7010

BeitragVerfasst am: 22.11.2005 14:11    Titel: Antworten mit Zitat

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 Wink

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Marko
Gast





BeitragVerfasst am: 22.11.2005 14:37    Titel: Antworten mit Zitat

In den "Eigenschaften des Navigationselementes"? Genau das habe ich ja gemacht. Nur wird eben dann in untergeordneten Rubriken das Navigationselement nicht als Parent erkannt. Weil keine Rubrik zugeordnet ist.
Nach oben
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7010

BeitragVerfasst am: 22.11.2005 16:02    Titel: Antworten mit Zitat


 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:
php:
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
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Marko
Gast





BeitragVerfasst am: 22.11.2005 17:54    Titel: Antworten mit Zitat

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.

Code:
$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>'; }
}


Die Frage ist also, wie man an den Namen des Parent-Navigationselements rankommt, wenn getParent nichts zurückgibt.
Nach oben
Gast






BeitragVerfasst am: 15.12.2005 16:38    Titel: Re: Dynamische Navigation in CPO4 erklaert: Antworten mit Zitat

balu hat Folgendes geschrieben:

[...]
Die Navigation wird als verschachtelte <ul>-Liste ausgegeben. Diese laesst sich mit den passenden CSS-Definitionen in jeder erdenklichen Form formatieren.
[...]
Balu


Hallo,

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.
Nach oben
Matthias V
Modul-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1251
Wohnort: Sondershausen

BeitragVerfasst am: 16.12.2005 13:09    Titel: Antworten mit Zitat

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.

Code:
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; }


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
Code:
<div id="navi">.. Deine Navigation, z.B. <?php printnavigation(); ?> ... </div>


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

_________________
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung


Zuletzt bearbeitet von Matthias V am 27.01.2006 20:56, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dnimtsch
Gast





BeitragVerfasst am: 16.12.2005 13:11    Titel: Antworten mit Zitat

Code:
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; }


http://www.nady.de/wbn/
Nach oben
Gast






BeitragVerfasst am: 19.12.2005 19:12    Titel: Antworten mit Zitat

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.
Nach oben
krishu
ConPresso-User


Anmeldungsdatum: 15.12.2005
Beiträge: 82

BeitragVerfasst am: 19.12.2005 20:44    Titel: Antworten mit Zitat

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".

Code:

<?php printnavigation('',0,99,$cpoRubric['id'],true); ?>

<?php printnavigation('',0,99,13,true); ?>


Wo liegt mein Denkfehler?

Gruß
Christian.

_________________
Ich habe keine Ahnung. Leider.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Abendschnee
ConPresso-Newbie


Anmeldungsdatum: 08.10.2010
Beiträge: 4

BeitragVerfasst am: 08.10.2010 08:16    Titel: Menü PlugIN Antworten mit Zitat

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?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 08.10.2010 08:45    Titel: Antworten mit Zitat

ConPresso besitzt überhaupt kein PlugIn-System. Deshalb kann es auch keine PlugIns geben.
Und wenn du gerne ein Modul verwenden möchtest, dazu gibt es mod_menu von MarkusR / conpresso4.de

Aber ganz ehrlich: Eine Navigation mit printnavigation() ist doch eine wirklich einfache Sache!

_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
balu
ConPresso-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1746

BeitragVerfasst am: 21.10.2010 13:34    Titel: Antworten mit Zitat

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

_________________
Bartels.Schöne
ConPresso Support & Development
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> ConPresso 4 Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen