DLE и вложенность меню.

V7
На сайте с 09.01.2008
Offline
129
4491

Как сделать меню в dle со вложенностью? Вот там есть создание разделов, даже подразделы можно создавать, а как их список вывести в меню... Или хотя бы сделать это вручную, допустим, в начале в главном меню отображаются только основные разделы - кликаем на раздел, и в левом появляется список подразделов... Такое вообще возможно на ДЛЕ?

[Удален]
#1
volk79:
Как сделать меню в dle со вложенностью? Вот там есть создание разделов, даже подразделы можно создавать, а как их список вывести в меню... Или хотя бы сделать это вручную, допустим, в начале в главном меню отображаются только основные разделы - кликаем на раздел, и в левом появляется список подразделов... Такое вообще возможно на ДЛЕ?

Вручную так можно -

java скрипт :

var toggleMenu = {

init : function(sContainerClass, sHiddenClass) {
if (!document.getElementById || !document.createTextNode) {return;} var arrMenus = this.getElementsByClassName(document, 'ul', sContainerClass);
var arrSubMenus, oSubMenu, oLink;
for (var i = 0; i < arrMenus.length; i++) {
arrSubMenus = arrMenus.getElementsByTagName('ul');
for (var j = 0; j < arrSubMenus.length; j++) {
oSubMenu = arrSubMenus[j];
oLink = oSubMenu.parentNode.getElementsByTagName('a')[0];
oLink.onclick = function(){toggleMenu.toggle(this.parentNode.getElementsByTagName('ul')[0], sHiddenClass); return false;}
this.toggle(oSubMenu, sHiddenClass);
}
}
},
toggle : function(el, sHiddenClass) {
var oRegExp = new RegExp("(^|\\s)" + sHiddenClass + "(\\s|$)");
el.className = (oRegExp.test(el.className)) ? el.className.replace(oRegExp, '') : el.className + ' ' + sHiddenClass;},
addEvent : function(obj, type, fn) {
if (obj.addEventListener)
obj.addEventListener(type, fn, false);
else if (obj.attachEvent) {
obj["e"+type+fn] = fn;
obj[type+fn] = function() {obj["e"+type+fn](window.event);}
obj.attachEvent("on"+type, obj[type+fn]);
}
},
getElementsByClassName : function(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\\-");
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements;
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
};
toggleMenu.addEvent(window, 'load', function(){toggleMenu.init('menu','hidden');});

css

	.menu a {

border:none;
font-weight:normal;
}
.menu,
.menu ul {
margin:0;
padding:0;
list-style:none;
}
.menu {
width: 200px;
}
.menu li {
display: block;
margin: 0;
padding: 0;
margin-bottom: 1px;

}
.menu a {
font: normal normal;
display: block;
padding: 2px 5px;
color: #FFFFFF;
background: #1e5e70;
text-decoration: none;
height: 45;
}
.menu a:hover,
.menu a:focus,
.menu a:active {
background: #f09608;
}
.menu ul li {padding-left:15px;}
.menu ul a {background:#ced174;}
.hidden {display:none;} .menu a {
border:none;
font-weight:normal;
}
.menu,
.menu ul {
margin:0;
padding:0;
list-style:none;
}
.menu {
width: 200px;
}
.menu li {
display: block;
margin: 0;
padding: 0;
margin-bottom: 1px;

}
.menu a {
font: normal normal;
display: block;
padding: 2px 5px;
color: #FFFFFF;
background: #1e5e70;
text-decoration: none;
height: 45;
}
.menu a:hover,
.menu a:focus,
.menu a:active {
background: #f09608;
}
.menu ul li {padding-left:15px;}
.menu ul a {background:#ced174;}
.hidden {display:none;}

в шаблон вставляете :


<script type="text/javascript" src="/togglemenu.js"></script>
<!--[if ie]>
<style type="text/css" media="screen">
.menu a {zoom:1;}
</style>
<![endif]-->

....

<ul class="menu">

<li><a>меню 1</a></li>
<li><a>меню 2</a></li>
<li><a>меню 3</a></li>
и тд.

</ul>

V7
На сайте с 09.01.2008
Offline
129
#2

2 lex7310

А можно пример сайта, где это реализовано?

volk79 добавил 22.06.2009 в 17:52

Zodar:
Проще модуль установить ( например Category Tree 1.3, хотя их много различных)

Про него знаю, но он немного не то делает. Он выводит все разделы и подразделы, а мне нужно чтобы выводились только подразделы данного раздела сайта.

Пока только догадлся подставлять различные шаблоны, для разных категорий, но это гемор, т.к. теряется гибкость в модернизации внешнего вида.

[Удален]
#3
volk79:
2 lex7310
А можно пример сайта, где это реализовано?

volk79 добавил 22.06.2009 в 17:52


Про него знаю, но он немного не то делает. Он выводит все разделы и подразделы, а мне нужно чтобы выводились только подразделы данного раздела сайта.

Пока только догадлся подставлять различные шаблоны, для разных категорий, но это гемор, т.к. теряется гибкость в модернизации внешнего вида.

e-fresh . ру (слева панель, только так стиль немного изменил)

jarstyle
На сайте с 28.01.2009
Offline
65
#4

я думаю, тебе вот этот модуль нужен

либо вот этот можешь попробывать

ничего не продаю и не покупаю
Spell
На сайте с 14.07.2006
Offline
72
#5

Немножко через попу:

            

<li><a href=""> #1# </a></li>
[category=#1#,#1.1#,#1.2#,#1.3#]
<br />
<li><a href=""> #1.1# </a></li>
<li><a href=""> #1.2# </a></li>
<li><a href=""> #1.3# </a></li>
<br />
[/category]
<li><a href=""> #2# </a></li>
V7
На сайте с 09.01.2008
Offline
129
#6
Spell:
Немножко через попу:
            

<li><a href=""> #1# </a></li>
[category=#1#,#1.1#,#1.2#,#1.3#]
<br />
<li><a href=""> #1.1# </a></li>
<li><a href=""> #1.2# </a></li>
<li><a href=""> #1.3# </a></li>
<br />
[/category]
<li><a href=""> #2# </a></li>

При переключении в категорию 2 будут видны только подкатегории 2 или все категории?

Spell
На сайте с 14.07.2006
Offline
72
#7
volk79:
При переключении в категорию 2 будут видны только подкатегории 2 или все категории?

При переключении на 2ю будут видны только 1 и 2.

Прочитайте о теге CATEGORY в FAQ движка.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий