PDA

View Full Version : mos.cssmenus


funkygoodtime
11.04.2004, 15:04
Hi Descartes;

Du schreibst in deinem Tutorial, dass die cssmenus keine Untermenüs anzeigen können. Klar kann man auch Untermenüs anzeigen lassen...und das auch noch auf zwei verschiedene Arten:

Ersetzt man "$mycssONLY_PRI_menu" durch


"$mycssPRI_SUB_LAYERED", werden die Untermenüs unterhalb des eigentlichen Menüs als einfache Liste angezeigt.
"$mycssPRI_SUB_menu", werden die Untermenüs sogar innerhalb des eigentlichen Menüs angezeigt, was bedeutend eleganter wirkt


Was die Jungs von YTW ausdrücken möchten, wenn sie schreiben, die Beispiele seien nur für eine Ebene geplant, heißt das lediglich, dass der, der mehr haben will, nur ein wenig am CSS herumspielen muss.

Die entsprechenden classes (z.B. subnavlist, subcurrent) sind bereits vordefiniert.

Auf mosdemo.cdu-itzehoe.de (http://mosdemo.cdu-itzehoe.de) sind bereits zwei Templates (ci_neu_advanced und nrw) zu sehen, die das oben beschriebene verwenden.

Für meine Beispiele habe ich jeweils das Beispiel 19v (die Taming-Lists von ALA fand ich schon immer klasse) verwendet und das CSS z.B.(nrw) so ergänzt:

#example19v .navvirtcontainer #subnavlist ul, #example19v .navvirtcontainer #subnavlist li a
{
background-color: #f3f1ea;
color: #00395f;
font-weight: normal;
border: 0px;
border-bottom: 0px;
font-size: 11px;
padding: 5px 5px 5px 20px;
width: auto;

}

#example19v .navvirtcontainer #subnavlist li a#subcurrent
{
color: #ee3338;
}

descartes
12.04.2004, 12:28
Hallo funkygoodtime ;),
(No submenus available)OK. Ich werde es in Zukunft anders formulieren... Natürlich kann man Untermenus einbinden.
$mycssONLY_PRI_menu => just the top level items of the menu
$mycssPRI_SUB_menu => menus with submenu list (nested)
Ersetzt man "$mycssONLY_PRI_menu" durch
"$mycssPRI_SUB_LAYERED", werden die Untermenüs unterhalb des eigentlichen Menüs als einfache Liste angezeigt.
"$mycssPRI_SUB_menu", werden die Untermenüs sogar innerhalb des eigentlichen Menüs angezeigt, was bedeutend eleganter wirkt
Richtig.

Funktioniert es nur mit 'mainmenu' wegen "mycssmenu.php based on mod_mainmenu.class.php" ? Ich habe es noch nicht geschafft MyMenus einzubinden :$menutype = @$params->menutype ? $params->menutype : 'mainmenu'; ... was muss ich für mainmenu für einen Wert wählen wenn ich ein MyMenu habe das MyCSS heisst? Weist Du das?

Schön dass Du das Tutorial gelesen hast und Dir das aufgefallen ist, danke. Ich werde es überarbeiten. :)

Gruss

funkygoodtime
12.04.2004, 14:34
Funktioniert es nur mit 'mainmenu' wegen "mycssmenu.php based on mod_mainmenu.class.php" ? Ich habe es noch nicht geschafft MyMenus einzubinden :$menutype = @$params->menutype ? $params->menutype : 'mainmenu'; ... was muss ich für mainmenu für einen Wert wählen wenn ich ein MyMenu habe das MyCSS heisst? Weist Du das?


Es funktioniert natürlich generell auch bei MyMenus, da die ja auch über mod_mainmenu.class.php erzeugt werden - wenn deines "MyCSS" heißt, dann ersetzt du einfach 'mainmenu' durch 'mycss', da das ja dann der/die/das menutype ist. Das ist allerdings noch keine Lösung für den, der mehrere Menüs mit mycssmenu.php nutzen will.

Ich habe MyMenu2 gerade zum ersten Mal ausprobiert und es funktioniert auch. Dabei habe ich dann auch gleich dein Tutorial zu den MyMenus gelesen und bin tatsächlich ins Stocken geraten, was allerdings nicht dein Fehler, sondern eher der von Jason Murphy ist.

Die MyMenus sind bei mir einfach nicht unter "Manage Modules" aufgetaucht, weil Jason in admin.mymenu.php das table-prefix mehrfach hardgecoded hat und ich ein anderes Prefix auf meiner Testseite verwende. 'Wäre vielleicht einen kleinen Tipp im MyMenus-Tutorial wert nach dem Motto: ...Wenn ihr jetzt unter Manage Modules nichts seht, macht euch bitte keine Sorgen. ;)

Zeile 42:
function mosMyMenu( &$db )
{
$this->mosDBTable( 'mos_modules', 'id', $db );
}

Zeile 94:
function showMyMenus( $option )
{
global $database, $mainframe;

$database->setQuery( "SELECT * FROM mos_modules WHERE module='mod_mainmenu'");
$rows = $database->loadObjectList();

HTML_mymenus::showMenus( $rows, $option );
}

descartes
12.04.2004, 20:00
Hallo funkygoodtime :)

... ich bin mir recht sicher mycss auch probiert zu haben aber egal. Es funktioniert :) Damit kann ich dann heute nacht mal das Tutorial erweitern...

Solltest Du noch irgendwelche Vorschläge haben, sei so frei - ich bin Dir dankbar...

Gruss