|
|
28.01.2014, 18:02
|
|
Arturito
Феерично
Зарегистрирован: 2009-02-16
Сообщений: 11
|
Есть раздел со статьями, называется Блог. В нем есть подразделы: 1) Все разделы, 2) Первый раздел, 3) Второй раздел и т.п.
Внешняя ссылка с подраздела "Все разделы" ведет на главную страницу блога. Этот пункт нужен для отображения всех статей, когда находишься уже внутри блога.
Т.е. структура такая:
- Главная
- О нас
- Блог
--- Все разделы
--- Первый
--- Второй
...
В верхнем меню сайта, при наведении на раздел Блог выпадает меню второго уровня, где отображаются подразделы. Но нам не нужно выводить в выпадающем подменю раздел "Все разделы".
Как в шаблоне вывода меню сделать такое условие? Т.е. надо сравнить %NAME с названием "Все разделы" или сравнить текущий номер раздела с 392. Если текущая запись - "Все разделы", то ничего не выводим, если другие, то выводим пункт подменю.
$main_menu[1]['prefix'] = "<ul class=\"sub-menu\">";
$main_menu[1]['suffix'] = "</ul>";
$main_menu[1]['active'] = "<li><a href=\"%URL\">%NAME</a></li>";
$main_menu[1]['unactive'] = "".($data[$i][Subdivision_ID]==392 ? "" : "<li><a href=\"%URL\">%NAME</a></li>")."";
$main_menu[1]['active_link'] = "<li><a href=\"%URL\">%NAME</a></li>";
$main_menu[1]['divider'] = "";
www.feerichno.ru
|
|
|
28.01.2014, 20:16
|
|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
css
Вариант 1
.nav ul li ul li:first-child {display:none;}
Вариант 2
Подставить id в data-
$main_menu[1]['unactive'] = "<li data-sub='%SUB'><a href=\"%URL\">%NAME</a></li>";
.nav ul li ul li[data-sub='392'] {display:none;}
api
Вариант 1
Создать дополнительное поле в разделе "display" тип логическая переменная
<?=nc_cond_browse_sub(0, $main_menu, $where_cond = "display='1'")?>
Вариант 2
<?=nc_cond_browse_sub(0, $main_menu, $where_cond = "Subdivision_Name!='Все разделы'")?>
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
29.01.2014, 00:15
|
|
Arturito
Феерично
Зарегистрирован: 2009-02-16
Сообщений: 11
|
Спасибо тебе, добрый человек)
В первом варианте без добавления id в data есть недостаток - если у других разделов будут вторые уровни, то первый li тоже не будет высвечиваться.
Через api сделал, только вот так:
<?=nc_browse_sub(0, $main_menu, $ignore_check = 0, $where_cond = "Subdivision_Name!='Все'")?>
C nc_cond работать не хочет.
www.feerichno.ru
|
|
|
15.04.2015, 20:19
|
|
Muerto
Алексей Виноградов-фон Шлиппе
Зарегистрирован: 2006-09-14
Сообщений: 37
|
Думал разнести в три меню разделы первого уровня.
Создал поле типа "множественный выбор" в системной таблице "Разделы". В администрировании раздела вылезли чекбоксы, всё нормально. Но, при сохранении изменений проставленные чекбоксы слетают. Но ещё более интересно, что сделав SELECT * FROM Subdivision where Checked=1 AND Catalogue_ID=1 я не нашел созданного мною поля в таблице. Откуда же оно берется при редактировании радела?! %)
Что я делаю не так?
Nadie hablara de nosotras cuando hayamos muerto...
|
|
|
04.05.2015, 20:29
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Все делаете правильно. Мне кажется, вы что-то невнимательно посмотрели - не может быть такого, что в доп.полях раздела есть разделы, в а Subdivision их нет.
Но и поддержка "множественного выбора" в системной таблице "Разделы" мне кажется сомнительной. То есть я не исключаю, что есть такая возможность, но думаю, что такая штука просто не проработана разработчиками CMS.
Самым правильным решением в вашем случае будет обратиться в техподдержку, сообщить о возможном баге - заодно помогут разобраться с вашим вопросом.
Если техподдержка не оплачена, тогда рекомендую вместо "множественный выбор" поставить тип поля "Список". Оно точно нормально работает.
|