Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы » Как сделать так, чтобы при переходе по меню слева не исчезали остальные пункты меню?

Как сделать так, чтобы при переходе по меню слева не исчезали остальные пункты меню?


     меню, сабменю, menu, submenu, подменю, поведение подменю    Все вопросы » Общие вопросы    1345

вопрос
Как сделать так, чтобы при переходе по ссылкам в левом меню, не исчезали соседние ссылки, а оставалась бы вся структура меню на месте и можно было бы в любой момент обратиться к любой странице.

Как сделать так, чтобы при переходе по меню слева не исчезали остальные пункты меню?


Как сделать так, чтобы при переходе по меню слева не исчезали остальные пункты меню?


В каких файлах прописывается поведение сабменю и как его правильно поменять?
Версия DLE 9-ая вроде бы.
Заранее благодарю за ответ!

Ответа пока нет


6 комментариев

maks
Юзер

maks - -

Тут надо глянуть код шаблона этого меню. sidebar.tpl может быть

annbelins
Юзер

annbelins - -


к сожалению ничего похожего не нашла в списке шаблонов...

Есть такой код в index, может быть он отражает поведение меню?


$db->query( "SELECT id, name, descr, level FROM " . PREFIX . "_static WHERE right_key > ".$left_key." AND left_key < ".$right_key." AND level > 2 AND level < ".($level+2)." ORDER BY left_key" );

while ( $row = $db->get_array() ) {
	if ( $row['id'] == $static_result['id'] ) {
		if ( $row['level'] == '2' ) { $menus .= "<li>".$row['descr']."</li>"; }
		else if ( $row['level'] == '3' ) { $menus .= "<li>".$row['descr']."</li>"; }
		else if ( $row['level'] == '4' ) { $menus .= "<li style=\"margin-left:20px\">".$row['descr']."</li>"; }
		else if ( $row['level'] == '5' ) { $menus .= "<li style=\"margin-left:40px\">".$row['descr']."</li>"; }
		else if ( $row['level'] == '6' ) { $menus .= "<li style=\"margin-left:60px\">".$row['descr']."</li>"; }
	}
	else {
		if ( $row['level'] == '2' ) { $menus .= "<li><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
		else if ( $row['level'] == '3' ) { $menus .= "<li><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
		else if ( $row['level'] == '4' ) { $menus .= "<li style=\"margin-left:20px\"><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
		else if ( $row['level'] == '5' ) { $menus .= "<li style=\"margin-left:40px\"><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
		else if ( $row['level'] == '6' ) { $menus .= "<li style=\"margin-left:60px\"><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
	}
}
	

}


maks
Юзер

maks - -

Тут сложно сказать. Скорей всего они не скрыты, а просто не отображаются из-за вёрстки. Попробуйте сделать отступы поменьше или вообще убрать этот код.
 style=\"margin-left:40px\"

annbelins
Юзер

annbelins - -

Доброго дня. Код убрала, отступы ушли, но меню к сожалению все равно ведет себя также...

Кажется сколько уровней будет выдавать меню задается в верхней части кода...не сильна в php увы. Как поменять код, чтобы пункты меню не исчезали?


$menu_head = $db->super_query( "SELECT left_key, right_key, descr, name FROM " . PREFIX . "_static WHERE left_key <= ".$left_key." AND right_key >= ".$right_key." AND level = 2" );

$menu_head = "<div class=\"menus\"><a href=\"/".$menu_head['name'].".html\"><div id=\"menu_head\"><div id=\"middle\"><div id=\"inner\">".$menu_head['descr']."</div></div></div></a>";

$page = intval( $_GET['page'] );

$db->query( "SELECT id, name, descr, level FROM " . PREFIX . "_static WHERE right_key > ".$left_key." AND left_key < ".$right_key." AND level > 2 AND level < ".($level+2)." ORDER BY left_key" );

while ( $row = $db->get_array() ) {
	if ( $row['id'] == $static_result['id'] ) {
		if ( $row['level'] == '2' ) { $menus .= "<li>".$row['descr']."</li>"; }
		else if ( $row['level'] == '3' ) { $menus .= "<li>".$row['descr']."</li>"; }
		else if ( $row['level'] == '4' ) { $menus .= "<li>".$row['descr']."</li>"; }
		else if ( $row['level'] == '5' ) { $menus .= "<li>".$row['descr']."</li>"; }
		else if ( $row['level'] == '6' ) { $menus .= "<li>".$row['descr']."</li>"; }
	}
	else {
		if ( $row['level'] == '2' ) { $menus .= "<li><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
		else if ( $row['level'] == '3' ) { $menus .= "<li><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
		else if ( $row['level'] == '4' ) { $menus .= "<li><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
		else if ( $row['level'] == '5' ) { $menus .= "<li><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
		else if ( $row['level'] == '6' ) { $menus .= "<li><a href=\"/".$row['name'].".html\">".$row['descr']."</a></li>"; }
	}
}
	

maks
Юзер

maks - -

Ссылку на сайт напишите в лс

jakal
Юзер

jakal - -

Вряд ли в вёрстке дело, тут надо смотреть настройки cms, так как ясно видно,
что при клике по первому пункту меню, открываются его подпункты,
а все основные пункты меню (возможно категории), прячутся.
Проблема кроется либо в настройках cms, либо в тегах шаблона.

Похожие вопросы

наверх