1 (2013-03-07 18:33:41 отредактировано Faust)

Тема: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Многоуровневое сфМеню Версия 1.1.2 (05.03.2013)

Два уровня вложенности.
Все стили и скрипты создаются в Вашей теме по умолчанию и их можно редактировать из админки.

Инструкция всплывает при нажатии на ссылку "Инструкция сфМеню", красного цвета. Находится она на странице уже установленного плагина.

/*
*    Русский
*
*    Горизонтальное выпадающее меню (два уровня вложенности)
*    сфМеню плагин v1.1.2 для Monstra CMS
*
*    Установка:
*    Загрузите архив и распакуйте его
*    Переместите папку "sfmenu" в папку "plugins" на вашем сервере
*    В админ панели откройте плагины > установить, установите плагин сфМеню
*    Если плагин не устанавливается проверьте права на запись к папке темы
*
*    Использует jQuery v1.7.1
*    Создает стили и скрипты в папке с темой
*    Тестировалось на Monstra CMS v2.1.3
*
*    Базируется на исходниках:
*    Superfish v1.4.8 - jQuery меню виджет
*    Плагин Меню из коробки v1.0.0 для Monstra CMS
*
*    Вы сможете найти подробную инструкцию после установки плагина в административной панели на странице меню.
*/

Забрать: http://yadi.sk/d/gCfE6T-237Rzy

Если не хотите возиться и адаптировать под свой дизайн или скрипт - пишите в личку, за символическую плату переделаю под разные скрипты выпадающих меню из сети.

Ex ungue leonem

Поделиться

2 (2012-12-23 08:59:51 отредактировано olsv64)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

я бы хотел удалять свои посты, меню действительно работает smile, только как-то блочные элементы внутри строчных не принято размещать, поэтому теги div лучше заменить на теги span, а уж дисплей:блок для спан прописать в стилях

Сайт olsv64

Поделиться

3

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

я бы хотел удалять свои посты

что вы имеете ввиду7

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

4

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

я просто сначала написал не то, что захотел написать после smile

Сайт olsv64

Поделиться

5

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

огромное спасибо за этот плагин, и хотя я на своем сайте уже кое как приделал скрипт мегаменю, этот плагин избавит пользователей от тех проблем, с которыми пришлось столкнуться мне

Сайт olsv64

Поделиться

6

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

почему-то пропали активные классы у верхнего меню, может быть имеет смысл убрать класс у активных тегов <а>, так как он в общем-то и не нужен, оставив его только у тега <li>, а присваивать отдельный класс активным тегам <li> основного меню

Сайт olsv64

Поделиться

7 (2012-12-24 06:52:54 отредактировано Faust)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Обновил. Оформил. Теперь функционирует как самостоятельный плагин.

В подобном плагине вынужден подключать css. CSS падает в themes/default/css и ее можно редактировать из админки. Правда если вы удалили эту папку, то придется вручную подключать и брать файл стилей из папки плагина.

Можно конечно поставить проверку на наличие themes/default/css и тогда подключать напрямую из папки плагина, но это неправильно, стили должны быть вынесены в темы.

Кто сможет помочь динамично вставлять css относительно Site::theme() в "sfmenu.plugin.php" строка 33?

Я вставлял по разному, но у меня просто падает вся админка, логи пусты.
Устанавливать CSS относительно Site::theme() получается без проблем, а вот подключать - нет.

Ex ungue leonem

Поделиться

8 (2012-12-24 11:39:36 отредактировано buyhtml)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Огромное спасбио за плагин, правда ещё не проверял его. Не работает мануал, при нажатии там пусто...

Разобрался, у меня стоял Украинский язык, а мануал только для Русского.

Сайт buyhtml

Поделиться

9

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

к сожалению при создании страницы третьего уровня нельзя выбрать родительскую страницу второго уровня, приходится выбирать страницу первого уровня smile

Сайт olsv64

Поделиться

10

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

У меня при редактировании пунктов меню в них пропадает ссылка, приходится назначать заного.

Сайт buyhtml

Поделиться

11 (2012-12-25 12:40:41 отредактировано olsv64)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

действительно пропадает

Сайт olsv64

Поделиться

12 (2012-12-25 13:59:17 отредактировано Faust)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

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

Мда, третьего выбрать нельзя скорей всего из за того что у второго уровня уже присутствует категория, а сверка происходит категории с branch, при отсутствии категории (default = отсутствие) сверяется branch c остальными, а если присутствует то только с собственной и не выводит.

При таком раскладе прихожу к мысли, что моя задумка неэффективна (т.е. сравнение с branch). Нужно придумать другой механизм. Или вообще переписать что ли. или использовать многоуровневую где подуровни выводятся под основным меню.

Ex ungue leonem

Поделиться

13

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Нужно, чтобы подменю выводились как вложенные ul li, а оформлять через цсс

<div class="first">
<ul>
     <li></li>
     <li>
           <ul>
                  <li></li>
           </ul>
     </li>
</ul>
</div>
css
.first ul {
...
}
.first ul li{
...
}
Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

14 (2012-12-25 16:12:51 отредактировано olsv64)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Faust пишет:

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

так тебя ж никто не торопит, конечно подумай smile а пока можно пользоваться и предыдущим вариантом

Сайт olsv64

Поделиться

15

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Как вы смотрите на то, что бы иметь двойной плагин (в точности два плагина)?

т.e.
Pages
Files
Bloks
Menu
sfMenu
subsfMenu
subsubsfMenu

В этом случае придется устанавливать два-три плагина.

sfMenu  будет создаваться только первый уровень, указываться ветвь у родителей (с названием "ответвление"), выводится в шаблон. На первый взгляд это даст возможность создавать неограниченно разных многоуровневых меню. В шаблоне работа будет идти только с sfMenu.

subsfMenu там будут создаваться только выпадающие меню первого уровня, категория должна будет равна ветви родителя указанного в пунктах sfMenu. Ничего выводить в шаблон, или чего-то еще в этом плагине будет ненужно.  Категория будет переименована в "ветвь родителя", что бы было понятней.

subsubsfMenu - будет устанавливаться только в случае если нужно выпадение и второго уровня и будут создаваться только выпадающие меню второго уровня, «категория» должна будет равна ветви родителя указанного в пунктах subsfMenu. Ничего выводить в шаблон, или чего-то еще в этом плагине будет ненужно.  Категория будет переименована в "ветвь родителя", что бы было понятней.

Такой подход позволит сделать не ограниченные уровни вложенности. Добавлениями нового плагина sub3Menu, sub4Menu. (просто есть хорошее css меню с 4 уровнями вложенности, правда там много css, поэтому оно не универсально и тяжело для новичков, с ним пока работать не буду).
Я понимаю, что такой подход костыль, но других идей, чтобы сделать с малыми знаниями, но удобный плагин, который можно будет легко кастомизировать, не вижу.
Так как, стоит так делать :
sfMenu
subsfMenu
subsubsfMenu
или нет?

Ex ungue leonem

Поделиться

16

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Мне кажется, что это не выход.  Повторюсь, если плагин сгенерирует меню по типу как я указал в предыдущем посте, то потом отформатировать его можно будет средствами css как угодно хоть горизонтально, хоть вертикально. Мне кажется сгенерировать такой код не сложно, сейчас почему то вложенные страницы находятся в одной плоскости с остальными, и не допускают вложенности третьего уровня, если это чуток подправить, то все будет ОК

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

17

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Форматирование возможно, но со вторым и третьим уровнем вложенности могут возникнуть проблемы. В точности сам вывод, а не стили вывода.
В этом случае механизм сравнения "branch" и "category" после первого уровня вложенност придется переписывать. Т.Е. добавлять еще условий, возможно даже создавать поле для пунктов меню "уровень вложенности". Это все усложняет само создание юзером меню с админки.

Тут по ходу лучше грамотно переписать весь плагин, и сделать по нормальному принципу, как это делается например в других cms с многоуровневым меню, да только как его переписать - вот вопрос.

Ex ungue leonem

Поделиться

18 (2012-12-26 19:08:21 отредактировано Faust)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Так скорей всео нужно переделывать весь вывод, убрать категории. И добавлять parrentId  И branchId , потом проводить вывод.

по аналогии c

<?php #Дерево разделов. 
#Выбор _всех_ разделов. 
$parts_query = mysql_query("SELECT id, parent_id, name FROM sections 
ORDER BY ord ASC", $mysql); 
#Если есть хоть какие-то разделы. 
if ($parts_query && mysql_num_rows($parts_query) > 0) { 
  $parts_array = array(); 
  $part_data = 0; 
  #Распихиваем полученные данные в массив. 
  #Попутно для красоты заменяем возможные пустые поля "parent_id" 
  #(для разделов, не имеющих родителя) на ноль. 
  while($part_data = mysql_fetch_row($parts_query)) { 
    $part_data[1] = isset($part_data[1]) && $part_data[1] > 0 ? 
$part_data[1] : 0; 
    array_push($parts_array, $part_data); 
  } 
  mysql_free_result($parts_query); 
} 
#Это функция, рекурсивно вызывающаяся для формирования дерева разделов. 
function get_hierarchy($parts_array, $parent_id) { 
  #Кол-во записей на текущем уровне. Нужно для того, чтобы по уму 
  #выводить <ul>...</ul> для этого уровня, т.е. если записей нет, то и 
  #эти тэги не нужны. 
  $this_count = 0; 
  foreach ($parts_array as $idx => $element) { 
    #Выводим раздел текущего уровня (тот, чей идентификатор родителя 
    #равен заданному при вызове функции ($parent_id)). 
    if ($element[1] == $parent_id) { 
      $this_count++; 
      #Вывод HTML очередного пункта меню. 
      if ($this_count == 1) echo("<ul>"); 
      echo("<li><a 
href=\"./parts.php?id=".$element[0]."\">".$element[2]."</a>"); 
      #Самое интересное: функция вызывает саму себя для формирования 
      #дочерних узлов текущего раздела. 
      get_hierarchy($parts_array, $element[0]); 
      echo("</li>"); 
    } 
  } 
  if ($this_count > 0) 
    echo("</ul>"); 
} 
#Начальный вызов: идентификатор родительского раздела равен 
#нулю, т.е. "родителя нет". 
echo(get_hierarchy($parts_array, 0)); 
?>

Только вот MySql не XML и так вот просто тем кто не работал с ними напрямую (мне) переделать сложно, и вот будет ли на это время не знаю.

Ex ungue leonem

Поделиться

19

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Перезалейте файл архива на др. файлобменник. На rghost.ru файл удален.

Если ты хочешь стать гуру, помни, что ты всегда будешь окружен людьми, которые глупее тебя.

Поделиться

20

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

DOWNLOAD (.zip)

(c) RomanArt
Создание дизайнов любой сложности для Monstra cms

Поделиться

21

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Как-то мануала не нашел внутри архива. Не подскажете что и куда?

Поделиться

22 (2013-03-06 07:12:50 отредактировано Faust)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Сообщение удалено.

Ex ungue leonem

Поделиться

23 (2013-03-01 05:50:17 отредактировано olsv64)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

что-то не могу я скачать ваш плагин, пришлось идти в оперу, скачал, может быть имеет смысл завести для себя Яндекс.Диск? Чтобы не размещать файлы черт знает где с непотребной рекламой. Если хотите получить вместо 10 гигов 11 перейдите по этой ссылке.

Сайт olsv64

Поделиться

24 (2013-03-01 06:44:45 отредактировано Faust)

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Спасибо. Учел. Залил на него так как там файлы не удаляются как в как ргхост, а идут в архив.

Ссылки обновил. Версия 1.1.1 (01.03.2013) в ней css и скрипты создаются в теме назначенной по умолчанию для Вашего сайта (а не только в default как было раньше) и можно редактировать их из админки.

Лежит на ЯндексДиск.  См. первое сообщение темы

Ex ungue leonem

Поделиться

25

Re: Многоуровневое сфМеню. Версия 1.1.2 (05.03.2013)

Кто пробовал??? Баги, ошибки???

Есть ли у кого выпадающее меню на чистом css (на все браузеры), а то либо опера либо сафари либо ие отказывает.

Если есть, и красивое, сделаю плагин с ним, публиковать ссылки на такие меню сюда.

Ex ungue leonem

Поделиться