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

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


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

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

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


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


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

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


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

maks
Юзер

maks - 23 августа 2018 16:13 -

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

annbelins
Юзер

annbelins - 23 августа 2018 17:09 -


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

Есть такой код в 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 - 23 августа 2018 17:18 -

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

annbelins
Юзер

annbelins - 24 августа 2018 10:53 -

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

Кажется сколько уровней будет выдавать меню задается в верхней части кода...не сильна в 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 - 24 августа 2018 10:58 -

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

jakal
Юзер

jakal - 24 августа 2018 18:21 -

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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх