Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Не выводится дополнительное меню в версии "Start"

Автор BabajkaРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 3675
Последний ответ 10 Января 2013, 10:08:04
от admin
Магазин "Современный" - добавление заголовка к левому меню каталога

Автор manadsgnРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 4199
Последний ответ 25 Июня 2012, 17:33:00
от manadsgn
Вывод страницы в меню с отключением вывода в карте сайта

Автор alpotemkinРаздел Макросы UMI.CMS

Ответов: 6
Просмотров: 5755
Последний ответ 03 Ноября 2011, 15:07:29
от alpotemkin
Текущая страница - добавление класса к ссылке главного меню

Автор manadsgnРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 3069
Последний ответ 24 Июня 2012, 14:00:10
от manadsgn
Вывод в меню только разделов с определенными свойствами

Автор poloРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 5599
Последний ответ 24 Июня 2011, 12:58:58
от polo

0 Пользователей и 5 Гостей просматривают эту тему.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Многоуровневое меню
« Ответ #15 : 04 Апреля 2012, 00:26:51 »
HardHardy приведи полностью задачу которую ты решаешь и какими средствами, что-то мне подсказывает, что идешь немного не тем путем

*

HardHardy

  • **
  • 74
  • +1/-0
    • Просмотр профиля
    • Фортис
Re:Многоуровневое меню
« Ответ #16 : 04 Апреля 2012, 13:50:00 »
usels/menu.xml
<selection>
    <target result="pages">
        <type id="3" />
        <category depth="2">{1}</category>
</target>
  <property name="leftmenucataloga" value="1" />
  <sort>ord</sort>
</selection>

tpls/data/usel/menu.tpl
<?php
$FORMS = Array();
$FORMS['elements_block'] = <<<END
%items%
END;
$FORMS['elements_block_line'] = <<<END
<div class="%custom is_active_page(%id%)%"><h4><a href="%link%">%name%</a></h4>
%data doSelection(menu1, menu, %id%)%</div>
END;
$FORMS['elements_block_empty'] = <<<END
END;
?>

tpls/data/usel/menu1.tpl
<?php
$FORMS = Array();
$FORMS['elements_block'] = <<<END
<ol class="%custom is_ol_active(%id%)%">%items%</ol>
END;
$FORMS['elements_block_line'] = <<<END
<li class="%custom is_li_active(%id%)%"><a href="%link%">%name%</a>
%data doSelection(menu1, menu, %id%)%</li>
END;
$FORMS['elements_block_empty'] = <<<END
END;
?>

tpls/content/inner.tpl
%data doSelection(menu, menu, 0)%<br />

css/css.css
.nav3-grid ol {
  line-height: 30px;
  height: 0px; /*Сворачивает меню*/
  list-style-type: none;
  overflow: hidden;
  padding: 0px;
}
.nav3-grid:hover ol  {
  height: auto;
}
.nav3-grid-active ol {
  line-height: 30px;
  height: auto;
  list-style-type: none;
  overflow: hidden;
  padding: 0px;
}

classes/modules/custom.php
		public function is_active_page($id=NULL) {
if(!$id) return;
$page_id = cmsController::getInstance()->getCurrentElementId();// берем id текущей страницы
if($page_id==$id) return 'nav3-grid-active';
else return 'nav3-grid';
}
public function is_li_active($id=NULL) {
if(!$id) return;
$page_id = cmsController::getInstance()->getCurrentElementId();
if($page_id==$id) return 'liactive';
else return 'linoactive';
}
/*public function is_ol_active($id=NULL) {
if(!$li=='liactive') return 'olactive';
else return 'olnoactive';
}*/

*

HardHardy

  • **
  • 74
  • +1/-0
    • Просмотр профиля
    • Фортис
Re:Многоуровневое меню
« Ответ #17 : 09 Апреля 2012, 09:50:41 »
Как видно из выше сказанного я не знаю как и можно ли вообще подставить значение в класс тега <ol> опираясь на значение класса тега <li> через php.
« Последнее редактирование: 09 Апреля 2012, 09:53:32 от HardHardy »