|
|
08.03.2014, 01:04
|
|
Евгений Соколов
Deviks
Зарегистрирован: 2012-04-20
Сообщений: 12
|
Нужно вывести меню с условием для корневого пункта меню, делаю таким образом:
Код:
$never = '%never';
$browse_sub = "".("$never"==1 ? "#" : "%URL")."";
$Vmenu[0]['prefix'] = "<ul class='menu_vert_main' id='vert_menu'>";
$Vmenu[0]['suffix'] = "</ul>";
$Vmenu[0]['active'] = "<li class='parent item'><a class='active' href='$browse_sub'>%NAME</a></li>";
$Vmenu[0]['active_link'] = "<li class='parent item'><a class='active' href='$browse_sub'>%NAME</a>%NEXT_LEVEL</li>";
$Vmenu[0]['unactive'] = "<li class='parent item'><a href='$browse_sub'>%NAME</a></li>";
Если ставим галочку в поле "Логическая переменная", то ссылку на корневой раздел не выводим, если галочки нет, ссылка на корневой раздел выводится.
Не знаю почему, но уменя выводится при разных случаях ссылка на корневой раздел!
Использую NetCat 5.3
Помогите пожалуйста.
|
|
|
09.03.2014, 11:43
|
|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
$browse_sub = "".("$never"==1 ? "#" : "%URL")."";
Кавычки говорят что это строка а не переменная. Так что сравнивается строка $never с 1 в итоге неравенство
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
09.03.2014, 16:59
|
|
Евгений Соколов
Deviks
Зарегистрирован: 2012-04-20
Сообщений: 12
|
Цитата:$browse_sub = "".("$never"==1 ? "#" : "%URL")."";
Кавычки говорят что это строка а не переменная. Так что сравнивается строка $never с 1 в итоге неравенство
Спасибо за кавычки, но всё равно если выводить такой код,
Код:$browse_sub = "".($never==1 ? "#" : "%URL")."";
то при установленной галочке выводится url, а не "#".
Так и не получилось реализовать логическую переменную.
|
|
|
11.03.2014, 01:44
|
|
Евгений Соколов
Deviks
Зарегистрирован: 2012-04-20
Сообщений: 12
|
Большое спасибо!
Получилось, нужно было меню выводить через s_browse_sub.
Вот только вопрос, почему не получается выводить меню с условием через nc_browse_sub?
|
|
|
11.03.2014, 10:38
|
|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
В s_browse_sub вывод происходит через eval() которая в свою очередь исполняет любой код строки как PHP. В новой функции возвращается как переменная.
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
11.03.2014, 12:41
|
|
Евгений Соколов
Deviks
Зарегистрирован: 2012-04-20
Сообщений: 12
|
Спасибо за объяснение, теперь стало понятно.
Ещё один вопрос, хочу вывести подразделы в меню, делаю так
Код:
$browse_sub = "\".('%never'==1 ? \"#\" : \"%URL\" ).\"";
$Vmenu[0]['prefix'] = "<ul class='menu_vert_main' id='vert_menu'>";
$Vmenu[0]['suffix'] = "</ul>";
$Vmenu[0]['active'] = "<li id='current' class='active item'><a href='$browse_sub'>%NAME</a></li>";
$Vmenu[0]['active_link'] = "<li id='current' class='active item'><a href='$browse_sub'><span>%NAME</span></a></li>";
$Vmenu[0]['unactive'] = "<li class='item'><a href='$browse_sub'><span>%NAME</span></a>\".s_browse_sub(\$data[\$i][Subdivision_ID], \$Vmenu[1]).\"</li>";
$Vmenu[1]['prefix'] = "<ul>";
$Vmenu[1]['suffix'] = "</ul>";
$Vmenu[1]['active'] = "<li id='current' class='active item'><a href='%URL'>%NAME</a></li>";
$Vmenu[1]['active_link'] = "<li id='current' class='active item'><a href='%URL'><span>%NAME</span></a></li>";
$Vmenu[1]['unactive'] = "<li class='item'><a href='%URL'><span>%NAME</span></a></li>";
В макете вывожу спомощью <?= s_browse_sub(0, $Vmenu[0]) ?>, но подразделы не отображаются
, если выводить через nc_browse_sub и в шаблоне меню добавитть %NEXT_LEVEL, подразделы выводятся.
Мне нужно вывести меню через s_browse_sub с подразделами, помогите пожалуйста.
|
|
|
11.03.2014, 15:12
|
|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
Раньше когда существовала версия 4 как основная а не как теперь. То были инструкции к 4 версии а не как сегодня к 5. Так вот там было пояснение что в префиксе шаблона не обходимо поставить
\";global \$browse_sub;\$result.=\"
Где оранжевым выделено название шаблона подразделов без ключей массива
Ваш случай
$Vmenu[0]['prefix'] = "\";global \$Vmenu;\$result.=\"";
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
11.03.2014, 15:50
|
|
Евгений Соколов
Deviks
Зарегистрирован: 2012-04-20
Сообщений: 12
|
Большущее Вам спасибо, всё получилось!!!
|
|
|
11.03.2014, 18:01
|
|
Гость
Гость
|
Так ведь и сейчас приходится этим пользоваться когда в шаблонах вывода навигации используешь условия и пр. Так что без s_browse и сейчас не обойтись.
Почему то, когда делаешь условия, например в $Vmenu[1]['active_link'] ="";
, то потом nc_browse не обрабатывает их и, соответственно %NExt_LEVEL тоже не работает.
|