Pi_unimenu - Ein unversales Menüsystem - in Kürze

Hilfe zu Modulen und Tags
Post Reply
piratos

Pi_unimenu - Ein unversales Menüsystem - in Kürze

Post by piratos »

Ich bin gerade dabei für mich ein sogenanntes Universalmenü zu basteln, und zwar als Plugin.
Auf Javascript und Co wird komplett verzichtet. Was davon nichts hat, ist überall lauffähig.

Das Menü kann vertikal (default), als auch horizontale Ausgaben machen.
Selbstverständlich kann es wie jedes Plugin in ein Template oder eine Seite eingesetzt werden und das natürlich auch mehrfach, denn darauf kommt es mir an.
Und des kann als Menü für besondere Dinge auch mit anderen Menüs wie PHPLayers eingesetzt werden, wobei die den Nachteil haben, dass die Ausgabe bei PHPLayers  nicht so gezielt zu beeinflussen ist.

Das besondere an dem Menü sind die zahlreichen möglichen Parameter, mit dem das Verhalten des Plugins je Einsatz ziemlich detailiert bestimmt werden kann.

Ausgangsbasis für mich immer die Bereiche (SectionHeader), denn die sind die Basis eines struktuierten Webs.

In der vorläufigen Spielversion kann eingestellt werden, ob alles angezeigt werden soll oder nur ein einziger Bereich oder alles bis auf einen Bereich.
Es können auch mehrere Bereiche definiert werden, die anzuzeigen sind oder zu sperren wären.

Dadurch kann beim doppelten Einsatz des Menüs z.B. eine Linkleiste mit allen Schikanen horizontal aus einem Bereich gesetzt werden, während der Rest mit Ausnahme dieses Bereiches links vertikal gesetzt wird.

Durch die Verwendungsmöglichkeit von individuellen span - CSS - Klassen, kann ein Link sehr gut positioniert werden und das auch bei sehr komplizierten Layouts, wenn es sein musss auch in einem Kreis.

Dieses Menü Pi_unimenu ist bei mir in einer sehr intensiven Testphase und wird wohl in Kürze fertig sein.

Hier die vorläufigen Parameter:


showadmin=  0 oder 1
Bringt den Link zum Adminteil, Voreinstellung 0
showonly= Name des SectionHeaders
Zeigt nur Links zu diesem Sectionheader
showexclude = Name des Sectionheaders
Unterdrückt den kompletten Inhalt zu diesem Sectionheader
showseparator= 0 oder 1
Bringt einen vorhandenen Separator, Voreinstellung 1
showheader= 0 oder 1
Unterdrückt die Anzeige des SectionHeaders selbst, Voreinstellung 0
horizontal= 0 oder 1
Bei 0 verikale Ausgabe bei 1 horizontale Ausgabe, Voreinstellung 0
defaultlinkclass = 0 oder 1
Bringt in  jedem Link eine Standard CSS - Klasse ein, Voreinstellung 1
linkclass= 0 oder 1
Bringt in jeden Link eine individuelle (Nummerierung) CSS -Klasse, Voreinstellung 0
spanclass= 0 oder 1
Bettet jeden Link in eine individuelle (Nummerierung) CSS - Klasse, Voreinstellung 0
makespanclass= 0 oder 1
Bettet jeden Link in eine Default CSS - Klasse ein, Voreinstellung 0
setbr= 0 oder 1
Hängt an jeden Eintrag ein
an, Voreinstellung 0

Abhängigkleiten
Ist der Parameter horizontal gesetzt, wird die Ausgabe eines Separators unterdrückt.

Ist makespanclass gesetzt wird ein eventuell vorhandener Parameter spanclass unterdrückt.

Demnächst weiteres dazu.
piratos

Re: Pi_unimenu - Ein unversales Menüsystem - in Kürze

Post by piratos »

Die Anzahl der möglichen Parameter hat sich noch erhöht.
Damit läßt sich praktisch jedes Detail via CSS einstellen.

In ein paar Tagen werde ich eine Demo auf meiner Testsite einbringen.
pixies
Forum Members
Forum Members
Posts: 27
Joined: Tue Feb 10, 2009 1:14 pm

Re: Pi_unimenu - Ein unversales Menüsystem - in Kürze

Post by pixies »

Hallo!

Bin soeben auf diese alte Nachricht gestoßen, auf der Suche nach einer Anleitung für individuelle grafische Sectionheader.

Hat sich hier seit 2005 etwas getan? :-) Ich konnte das Modul leider nirgendwo finden. Wäre super, wenn mir jemand weiterhelfen könnte.

Danke!
pixies
NaN

Re: Pi_unimenu - Ein unversales Menüsystem - in Kürze

Post by NaN »

pixies wrote:
individuelle grafische Sectionheader.
Was genau meinstn damit?
Dürfte sich doch relativ einfach mit Hilfe einer kleinen Änderung im MenuTemplate und CSS realisieren lassen, oder?
pixies
Forum Members
Forum Members
Posts: 27
Joined: Tue Feb 10, 2009 1:14 pm

Re: Pi_unimenu - Ein unversales Menüsystem - in Kürze

Post by pixies »

Ich meinte damit unterschiedliche ids /classes für die Sectionheader, damit ich alle einzeln mit unterschiedlichen Grafiken versehen kann. Standardmäßig kann ich sie nicht einzeln ansprechen.
Die Ankündigung des Moduls ließ hoffen, das ginge einfach damit. Ich hab mit Templates nicht so viel Erfahrung. Habe es jetzt so gelöst (Pfusch, aber funktioniert): Menu von Hand ins Template gesetzt und eigene Styles für die individuellen Sectionheader festgelegt.
NaN

Re: Pi_unimenu - Ein unversales Menüsystem - in Kürze

Post by NaN »

ähm... dann geht aber der Sinn des CMS ein wenig verloren.
Sobald Du z.B. eine Seite hinzufügst, musst Du das Template immer wieder anpassen.

Rufe mal im Backend unter "Layout->Menumanager" den Menumanager auf.
Erstelle eine neues Template.
Und füge folgendes ein:

{* CSS classes used in this template:
.activeparent - The top level parent when a child is the active/current page
li.active0n h3 - n is the depth/level of the node. To style the active page for each level separately. The active page is not clickable.
.clearfix - Used for the unclickable h3 to use the entire width of the li, just like the anchors. See the Tools stylesheet in the default CMSMS installation.
li.sectionheader h3 - To style section header
li.separator - To style the ruler for the separator *}

{if $count > 0}

{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="" times=$node->depth-$node->prevdepth}
{elseif $node->depth prevdepth}
{repeat string="" times=$node->prevdepth-$node->depth}

{elseif $node->index > 0}
{/if}

{if $node->current == true}
alias}"[/color][/b]>Current page is {$node->hierarchy}: {$node->menutext}

{elseif $node->parent == true}
alias}"[/b][/color]>url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}>{$node->hierarchy}: {$node->menutext}

{elseif $node->type == 'sectionheader'}
alias}"[/b][/color]>{$node->menutext}

{elseif $node->type == 'separator'}
alias}" [/b][/color]class="separator" style="list-style-type: none;">

{else}
alias}" [/b][/color]>url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}{if $node->target != ''} target="{$node->target}"{/if}>{$node->hierarchy}: {$node->menutext}

{/if}

{/foreach}
{repeat string="" times=$node->depth-1}

{/if}

Das ist im Prinzip das original Template simple_navigation.tpl.
Habe nur ein paar IDs eingefügt. Die IDs entsprechen dem jeweiligen Seitenalias.
Somit kannst Du jedes Element eindeutig über seinen Alias ansprechen.
pixies
Forum Members
Forum Members
Posts: 27
Joined: Tue Feb 10, 2009 1:14 pm

Re: Pi_unimenu - Ein unversales Menüsystem - in Kürze

Post by pixies »

Super, danke!
Ja, meine Variante war eine Notlösung... ich kannte die Befehle nicht. So ist's natürlich besser!

Gruß, pixies
cyberman

Re: Pi_unimenu - Ein unversales Menüsystem - in Kürze

Post by cyberman »

pixies wrote: ich kannte die Befehle nicht. So ist's natürlich besser!
Auch, wenn CMSms intuitiv bedienbar ist, sollte man dabei nicht vergessen, ab und an die "Hilfe"-Texte zu lesen 8).
Post Reply

Return to “Module und Tags”