Hallo liebes Forum!
Ich habe das Forum schon ein bisschen durchwüstet und bin leider nicht auf eine Lösung meines Problems gekommen.
Beim Versuch die Homepage (http://www.baw-ikt.at/ [läuft gerade unter Joomla 1.0.11]) auf die Beta-Version Joomla 1.5 zu umstapeltn (offline mittels JSAS 1.0.10), bin ich auf das Problem gestoßen, dass das „MainMenu“ welches zweimal angezeigt wird nicht richtig darstellen lassen möchte. Ich habe bereits versucht das geänderte MainMenu-Modul zu integriergen – die „alte Version“ zu überspeichern, doch ohne Erfolg. Ich habe irgendwie einen Denkfehler. Übers Backend habe ich es schon geschafft, dass ich die Einstellmöglichkeit habe, dass ich die neue Möglichkeit anzuklicken. Jedoch weiter hab ich es nicht geschafft.
Anbei der editierte Teil des MainMenu – welcher nicht von mir erstellt wurde.
Wo soll ich welchen Teil des Skriptes einfügen?
Besten Dank für eure Hilfe im Vorraus
Mit freundlichen Grüßen
Chariemero
der Auszug der "mainmenu.php" der "alten version", welcher geändert wurde:
function mosShowHorizMenu( &$params ) {
global $database, $my, $cur_template, $Itemid;
global $mosConfig_absolute_path, $mosConfig_live_site, $mosConfig_shownoauth;
/* If a user has signed in, get their user type */
$intUserType = 0;
if($my->gid){
switch ($my->usertype) {
case 'Super Administrator':
$intUserType = 0;
break;
case 'Administrator':
$intUserType = 1;
break;
case 'Editor':
$intUserType = 2;
break;
case 'Registered':
$intUserType = 3;
break;
case 'Author':
$intUserType = 4;
break;
case 'Publisher':
$intUserType = 5;
break;
case 'Manager':
$intUserType = 6;
break;
}
} else {
/* user isn't logged in so make their usertype 0 */
$intUserType = 0;
}
if ($mosConfig_shownoauth) {
$sql = "SELECT m.*"
. "\n FROM #__menu AS m"
. "\n WHERE menutype = '". $params->get( 'menutype' ) ."'"
. "\n AND published = 1"
. "\n ORDER BY parent, ordering";
} else {
$sql = "SELECT m.*"
. "\n FROM #__menu AS m"
. "\n WHERE menutype = '". $params->get( 'menutype' ) ."'"
. "\n AND published = 1"
. "\n AND access <= $my->gid"
. "\n ORDER BY parent, ordering";
}
$database->setQuery( $sql );
$rows = $database->loadObjectList( 'id' );
// indent icons
switch ( $params->get( 'indent_image' ) ) {
case '1':
// Default images
$imgpath = $mosConfig_live_site .'/images/M_images';
for ( $i = 1; $i < 7; $i++ ) {
$img[$i] = '<img src="'. $imgpath .'/indent'. $i .'.png" alt="" />';
}
break;
case '2':
// Use Params
$imgpath = $mosConfig_live_site .'/images/M_images';
for ( $i = 1; $i < 7; $i++ ) {
if ( $params->get( 'indent_image'. $i ) == '-1' ) {
$img[$i] = NULL;
} else {
$img[$i] = '<img src="'. $imgpath .'/'. $params->get( 'indent_image'. $i ) .'" alt="" />';
}
}
break;
case '3':
// None
for ( $i = 1; $i < 7; $i++ ) {
$img[$i] = NULL;
}
break;
default:
// Template
$imgpath = $mosConfig_live_site .'/templates/'. $cur_template .'/images';
for ( $i = 1; $i < 7; $i++ ) {
$img[$i] = '<img src="'. $imgpath .'/indent'. $i .'.png" alt="" />';
}
break;
}
$indents = array(
// block prefix / item prefix / item suffix / block suffix
array( '<div id="maincontainer"><ul>', '<li>' , '</li>', '</ul></div>' ),
array( '<ul>', '<li>'. $img[1] , '</li>', '</ul></div>' ),
array( '', '<li>'. $img[2] , '</li>', '</div>' ),
array( '', '<li style="padding-left: 12px">'. $img[3] , '</li>', '' ),
array( '', '<li style="padding-left: 16px">'. $img[4] , '</li>', '' ),
array( '', '<li style="padding-left: 20px">'. $img[5] , '</li>', '' ),
array( '', '<li style="padding-left: 24px">'. $img[6] , '</li>', '' ),
);
// establish the hierarchy of the menu
$children = array();
// first pass - collect children
foreach ($rows as $v ) {
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push( $list, $v );
$children[$pt] = $list;
}
// second pass - collect 'open' menus
$open = array( $Itemid );
$count = 20; // maximum levels - to prevent runaway loop
$id = $Itemid;
while (--$count) {
if (isset($rows[$id]) && $rows[$id]->parent > 0) {
$id = $rows[$id]->parent;
$open[] = $id;
} else {
break;
}
}
mosRecurseHorizMainMenu( 0, 0, $children, $open, $indents, $params );
//Submenü 1
mosRecurseHorizMenu( 0, 0, $children, $open, $indents, $params );
//Submenü 2
mosRecurseHorizMenu2( 0, 0, $children, $open, $indents, $params );
//mosRecurseVIMenu( 0, 0, $children, $open, $indents, $params );
}
/**
*** Hauptmenueanzeige
*/
function mosRecurseHorizMainMenu( $id, $level, &$children, &$open, &$indents, &$params ) {
global $Itemid;
if (@$children[$id]) {
$n = min( $level, count( $indents )-1 );
echo "\n".$indents[$n][0];
foreach ($children[$id] as $row) {
echo "\n".$indents[$n][1];
echo mosGetMenuLink( $row, $level, $params, $open );
// show menu with menu expanded - submenus visible
if ( !$params->get( 'expand_menu' ) ) {
if ( in_array( $row->id, $open )) {
//mosRecurseHorizMenu( $row->id, $level+1, $children, $open, $indents, $params );
}
} else {
mosRecurseHorizMainMenu( $row->id, $level+1, $children, $open, $indents, $params );
}
echo $indents[$n][2];
}
if ($level==0) echo "\n".$indents[$n][3];
}
}
/**
* Submenue1 Anzeige, welches über CSS Horizontal aufbereitet wird
*/
function mosRecurseHorizMenu( $id, $level, &$children, &$open, &$indents, &$params ) {
global $Itemid,$aktivesmenu,$divset;
if (@$children[$id]) {
$n = min( $level, count( $indents )-1 );
/*Mit dieser kleinen Schleife ermittle ich den aktiven Link und erzuege
so die ID für den div Layer, welcher im CSS positioniert und konfiguriert werden kann */
foreach ($children[$id] as $row) {
if (($level == 0) and ($found == FALSE)){
$strLink = mosGetMenuLink( $row, $level, $params, $open );
if (strpos( $strLink,"active_menu") )
{
$strLink = strip_tags($strLink);
$strLink = strtoupper ($strLink);
$strLink = str_replace(" ","_",$strLink);
$strLink = str_replace("Ö","OE",$strLink);
$strLink = str_replace("Ä","AE",$strLink);
$strLink = str_replace("Ü","UE",$strLink);
$strLink = str_replace("ö","OE",$strLink);
$strLink = str_replace("ä","AE",$strLink);
$strLink = str_replace("ü","UE",$strLink);
if ($aktivesmenu =="") $aktivesmenu = $strLink ;
$found = TRUE;
}
}
}
if (($level == 1) and ($aktivesmenu <> "")) echo "<div id=\"".$aktivesmenu."\"></div>";
if (($level == 1)and ($aktivesmenu <>"")){
echo "\n<div id=\"".$aktivesmenu."subcontainer\">".$indents[$n][0];
}
else
{
if ($level == 1) echo "\n<div id=\"subcontainer\">".$indents[$n][0];
}
foreach ($children[$id] as $row) {
if ($level == 1 ){
echo "\n".$indents[$n][1];
echo mosGetMenuLink( $row, $level, $params, $open );
}
// show menu with menu expanded - submenus visible
if ( !$params->get( 'expand_menu' ) ) {
if ( in_array( $row->id, $open )) {
mosRecurseHorizMenu( $row->id, $level+1, $children, $open, $indents, $params );
}
} else {
mosRecurseHorizMenu( $row->id, $level+1, $children, $open, $indents, $params );
}
if ($level ==1){
echo $indents[$n][2];
$SpacerCounter = $SpacerCounter + 1;
if ($SpacerCounter < count( $children[$id])) {
echo " ". $params->get( 'spacer' ) ." ";
}
}
}
if ($level ==1 ) echo "\n".$indents[$n][3];
}
}
/**
* Submenue2 Anzeige, welches über CSS Horizontal aufbereitet wird
*/
function mosRecurseHorizMenu2( $id, $level, &$children, &$open, &$indents, &$params ) {
global $Itemid,$aktivessubmenu,$divset;
if (@$children[$id]) {
$n = min( $level, count( $indents )-1 );
/*Mit dieser kleinen Schleife ermittle ich den aktiven Link und so die ID für den div Layer, welcher im CSS positioniert und konfiguriert werden kann */
foreach ($children[$id] as $row) {
if (($level == 1) and ($found == FALSE)){
$strLink = mosGetMenuLink( $row, $level, $params, $open );
if (strpos( $strLink,"active_menu") )
{
$strLink = strip_tags($strLink);
$strLink = strtoupper ($strLink);
$strLink = str_replace(" ","_",$strLink);
$strLink = str_replace("Ö","OE",$strLink);
$strLink = str_replace("Ä","AE",$strLink);
$strLink = str_replace("Ü","UE",$strLink);
$strLink = str_replace("ö","OE",$strLink);
$strLink = str_replace("ä","AE",$strLink);
$strLink = str_replace("ü","UE",$strLink);
if ($aktivessubmenu =="") $aktivesmenu = $strLink ;
$found = TRUE;
}
}
}
if (($level ==2) and ($aktivessubmenu <> "")) echo "";//"<div id=\"".$aktivessubmenu."\"></div>";
if (($level ==2)and ($aktivessubmenu <>"")){
echo "\n<div id=\"".$aktivessubmenu."subcontainer2\">".$indents[$n][0];
}
else
{
if ($level ==2) echo "\n<div id=\"subcontainer2\">".$indents[$n][0];
}
foreach ($children[$id] as $row) {
if ($level ==2){
echo "\n".$indents[$n][1];
echo mosGetMenuLink( $row, $level, $params, $open );
}
// show menu with menu expanded - submenus visible
if ( !$params->get( 'expand_menu' ) ) {
if ( in_array( $row->id, $open )) {
mosRecurseHorizMenu2( $row->id, $level+1, $children, $open, $indents, $params );
}
} else {
mosRecurseHorizMenu2( $row->id, $level+1, $children, $open, $indents, $params );
}
if ($level ==2){
echo $indents[$n][2];
$SpacerCounter = $SpacerCounter + 1;
if ($SpacerCounter < count( $children[$id])) {
//Spacer wird nicht benötigt im seitlichen Menü
//echo " ". $params->get( 'spacer' ) ." ";
}
}
}
if ($level ==2) echo "\n".$indents[$n][3];
}
}


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen