У меня следующая проблема, не как не могу разобраться с левым меню. Ситуация такая Что нужно: Левое меню которая не зависит от верхнего, но зависит сама от себя, допустим:
-Телевизоры -Магнитофоны -DVD -Бытовая техника
При нажатии на ссылку «Телевизоры», получается:
-Телевизоры --ЖК --LCD --TFT -Магнитофоны -DVD -Бытовая техника
Т.е. к на сайте: http://www.eds-soft.com/ - сколько лазил по сайту, форому и FAQ вразумительного ответа или примера на данную ситуацию не видел, хотя и были похожие ситуации но так и нечего не понял.
Значит то что я знаю (наверное павильно): Подкатегории лежат в .left.menu.php в папке куда ссылается сама категория. Отдельно подключил левое меню (только не иерархического вида) таким образом: В папке с шаблоном в файле left.menu_template.php делаю:
Нет не поможет там добиваются совершенно другой тип меню. Как тут http://www.mitsubishi-motors.ru/ru/auto_service/tech_serv/ При том что реализация меню мне не ясна, во вторых 3х уровневое меню а мне нужно двух и в третих подуровни меню первоночально видны в отдельном столбце.
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?><?
// Глобальная переменная вложенности рекурсии
global $MENU_LEVEL;
$MENU_LEVEL = IntVal($MENU_LEVEL);
$leftBreak = '+';
// Устанавливаем отметку для директории
if ($ITEM_TYPE=="D" || $MENU_LEVEL==1)
$strBullet = '+';
else
$strBullet = '+';
// Если это первый уровень
if($MENU_LEVEL==0)
{
// Пропускаем все пункты кроме выделенного
$sMenuProlog = "";
$sMenuEpilog = "";
$sMenuBody = "";
if($SELECTED)
{
$CurMenu = new CMenu("left");
$CurMenu->Init($LINK);
global $arUSED_MENU;
if(!is_array($arUSED_MENU))
$arUSED_MENU=Array();
if(!in_array($CurMenu->MenuDir, $arUSED_MENU))
{
$arUSED_MENU[] = $CurMenu->MenuDir;
$MENU_LEVEL++;
// Для выделенного пункта первого уровня запросим внутреннее меню
$sMenuBody .= $CurMenu->GetMenuHtml();
$MENU_LEVEL--;
}
}
}
else
{
// Меню ниже первого уровня
$sMenuProlog='';
$sMenuEpilog='';
if($MENU_LEVEL==1 && ($ITEM_INDEX > 0)) $sMenuBody = $leftBreak;
if($MENU_LEVEL>1) $sMenuProlog = '';
// Для выделенного пункта рекурсивно построим нижележащие меню
if($SELECTED)
{
$strU_beg = "";
$strU_end = "";
$strSubMenu = "";
$CurMenu = new CMenu("left");
$CurMenu->Init($LINK);
global $arUSED_MENU;
if(!is_array($arUSED_MENU))
$arUSED_MENU=Array();
if(!in_array($CurMenu->MenuDir, $arUSED_MENU))
{
$arUSED_MENU[] = $CurMenu->MenuDir;
$MENU_LEVEL++;
$strSubMenu = $CurMenu->GetMenuHtml();
$MENU_LEVEL--;
}
// Если внутри есть меню - выведем его
if(strlen($strSubMenu)>0)
if($PERMISSION > "D")
{
$sMenuBody .= '<a href="'.$LINK.'" class="'.$clrtext.'">'.$strU_beg.$TEXT.$strU_end.'</a>'.$strSubMenu.'<br>';
}
else
{
$sMenuBody = "";
}
else
// Если внутри нет меню, значит пункт последний - выводим без ссылки
if($PERMISSION > "D")
{
$sMenuBody .= '<a href="'.$LINK.'" class="'.$clrtext.'">'.$strU_beg.$TEXT.$strU_end.'</a><br>';
}
else
{
$sMenuBody = "";
}
}
else {
// Для невыделенных пунктов просто выводим
if($PERMISSION > "D")
{
$sMenuBody .= '<a href="'.$LINK.'" class="'.$clrtext.'">'.$TEXT.'</a><br>';
}
else
{
$sMenuBody = "";
}
}
}
?>
Но при клике на ссылку в меню, перехожу на следующую страницу а меню полностью проподает, т.е. меню работает тока на главной странице! Пожайлуста подскажите что не так?
вариант 1-й. в верхнем меню ставишь уровень вывода пунктов меню 1. для всех остальных тоже выставляешь шаблон для вывода верхнее меню. НЕ left!! затем в структуре (уже в админке) открываешь нужную папку в ней необходимо создать Left Menu. Тогда ее пунткы унаследуются и будут видны по всему дереву этой папки
вариант 2. лезешь в Настройки-Настройки продукта- настройки модулей- Управление структурой создаешь еще один тип меню например rigth затем на странице сайта размещаешь меню, в типе выбираешь его, и заполняешь нужными тебе пунктами. вот оно, пока ты не полезешь перенастраивать верхнее и определять в нем в каком из подменю выводить пунткты, НЕ будет никак зависить от верхнего меню.
да и вообще компонента есть, Меню. компоненты->Служебные->Навигация->Меню
создаете один тип меню, например Left, туда вписываете
Цитата
-Телевизоры -Магнитофоны -DVD -Бытовая техника
и кидаете это меню в корень каталога далее идете в
Цитата
-Телевизоры
и создаете меню типа LeftChilds туда пишите
Цитата
--ЖК --LCD --TFT
Потом кидаете компоненту в шаблон сайта и настраиваете: -Шаблон компонента: выбираете "Древовидное меню (встроенный шаблон)", далее его скопируете и измените под свои нужды, к примеру; -Тип меню для первого уровня: указываете меню типа Left; -Тип меню для остальных уровней: указываете меню типа LeftChilds;