Выбери в настройках меню отображать все уровни. В CSS напиши правила отображения + Небольшие инструкции для смены этих стилей и анимация на jQuery. Гдето уже на сайте это обсуждали помоему.
1. Добавляем весь блок со стилями в файл style.css. внимательно смотрим чтоб названия блоков не пересекались.
2. В файл шаблона site.php между тегами <head></head> добавляем текст
if (!defined('DIAFAN'))
{
include dirname(dirname(dirname(__FILE__))).'/includes/404.php';
}
/**
* Шаблон вывода первого уровня меню, вызывается из функции show_block в начале файла
*/
if (empty($result["rows"][$result["parent_id"]]))
{
return true;
}
// начало уровня меню
foreach ($result["rows"][$result["parent_id"]] as $row)
{
if (!$result["rows"][$result["parent_id"]][0] != $row)
{
// разделитель пунктов меню
}
if ($row["active"])
{
// начало пункта меню для текущей страницы
// echo '<li class="active">';
echo '<li class="active">';
}
elseif ($row["active_child"])
{
// начало пункта меню для активного дочернего пункта
// echo '<li class="active_child">';
echo '<li class="active">';
}
else
{
// начало любого другого пункта меню
echo '<li>';
}
if (
// на текущей странице нет ссылки, если не включена настройка "Текущий пункт как ссылка"
(!$row["active"] || $result["current_link"])
// влючен пункт "Не отображать ссылку на элемент, если он имеет дочерние пункты"
&& (!$result["hide_parent_link"] || empty($result["rows"][$row["id"]]))
)
{
if ($row["othurl"])
{
echo '<a href="'.$row["othurl"].'" target="_blank">';
}
else
{
// если пункт меню имеет дочерние пункты то у главного выводить в сылке #
if(!empty($result["rows"][$row["id"]]))
{
echo '<a href="#">';
}
else
{
echo '<a href="'.BASE_PATH_HREF.$row["link"].'">';
}
}
}
//вывод изображения
if (! empty($row["img"]))
{
echo '<img src="'.$row["img"]["src"].'" width="'.$row["img"]["width"].'" height="'.$row["img"]["height"]
.'" alt="'.$row["img"]["alt"].'" title="'.$row["img"]["title"].'"> ';
}
// название пункта меню
echo $row["name"];
if (
// на текущей странице нет ссылки, если не включена настройка "Текущий пункт как ссылка"
(!$row["active"] || $result["current_link"])
// влючен пункт "Не отображать ссылку на элемент, если он имеет дочерние пункты"
&& (!$result["hide_parent_link"] || empty($result["rows"][$row["id"]]))
)
{
echo '</a>';
}
if ($result["show_all_level"] || $row["active_child"] || $row["active"])
{
// вывод вложенного уровня меню
$menu_data = $result;
$menu_data["parent_id"] = $row["id"];
$menu_data["level"]++;
if (empty($result['attributes']['count_level']) || $result['attributes']['count_level'] >= $menu_data["level"])
$this->get('show_level_2', 'menu', $menu_data); //ниже функция, которая выводит в цикле пункты второго уровня вложенности.
}
if ($row["active"])
{
// окончание пункта меню - текущей страницы
echo '</li>';
}
elseif ($row["active_child"])
{
// окончание пункта меню для активного дочернего пункта
echo '</li>';
}
else
{
// окончание любого другого пункта меню
echo '</li>';
}
}
// окончание уровня меню
6. Ну и последнее что надо сделать это админ панели Меню на сайте - Меню - Меню каталог товаров должны стоять галочки на : показывать на сайте, раскрывать все пункты меню, текущий пункт меню как ссылка.
Ну вот наверно и все. Со стилями в любом случае придется побороться т.к. это у каждого индивидуально.
Александр (sanj) вы забыли скинуть ссылочку на скрипт, вдруг человек решит им воспользоваться а вообще такой скрипт и без плагина легко пишется, примерно 5 строчек и анимацию самому можно настраивать и href перехватывать
$("#list_menu .li_1").find("ul").slideUp("500"); //скрываем любой открытый подуровень
$("#list_menu .li_1").find(".lvl_1").removeClass("active_menu") //удаляем оформление с неактивных уровней
$(this).find("ul").slideDown("500"); //показываем подуровень у меню
$(this).find(".lvl_1").addClass("active_menu") //Задаем оформление активного первого уровня аккордиона
});
//При условии, что активный подпукт меню у нас оформляется sub_active
$(".sub_active").parent().slideDown("500"); //показываем подуровень у меню
});
</script>
Лучше его в отдельный файл залить, ну вроде все, если не будет работать напиши посотрю в чем может быть ошибка
В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке.