Перейти к содержимому


- - - - -

Как меню разбить на 2 части?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 verbov

verbov

    Новичок

  • Пользователи
  • Pip
  • 3 сообщений

Отправлено 13.03.2009, 17:41

Здравствуйте!

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

-------------------------------------------------------------------------------
-----------------------------Хедер------------------------------------------
-------------------------------------------------------------------------------
Меню1------                Основная часть сайта             --------Меню2
-Ссылка1  -         Текст Текст Текст Текст                                                    -  Ссылка6  -
-Ссылка2  -         Текст Текст Текст Текст                 -  Ссылка7  -
-Ссылка3  -          Текст Текст Текст Текст                                                   -  Ссылка8  -
-Ссылка4  -         Текст Текст Текст Текст                                                    -  Ссылка9  -
-Ссылка5  -         Текст Текст Текст Текст                                                    -  Ссылка10 -
--------------       Текст Текст Текст Текст                                                      ----------------
-------------------------------------------------------------------------------

Можно ли разбить меню на 2 части и выводить эти части в разных местах сайта?

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

Подскажите, пожалуйста, как можно это замутить...

#2 zebrum

zebrum

    Администратор

  • Главные администраторы
  • PipPipPip
  • 636 сообщений

Отправлено 15.03.2009, 11:43

К сожалению, в настоящий момент реализовать это без написания дополнительного кода PHP нельзя.

#3 lmr

lmr

    Участник

  • Пользователи
  • PipPip
  • 22 сообщений

Отправлено 15.03.2009, 15:50

сделайте пожалуйста это по возможности, деление меню на несколько частей

когда всё в одном меню не всегда гуд

тоже хотел задать ранее аналогичный вопрос :)

#4 verbov

verbov

    Новичок

  • Пользователи
  • Pip
  • 3 сообщений

Отправлено 15.03.2009, 19:52

Спасибо!

zebrum, а вы бы не могли здесь привести пример такого дополнительного когда?
А то работа стоит...

#5 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 16.03.2009, 06:25

Просмотр сообщенияverbov (15.3.2009, 22:52) писал:

Спасибо!

zebrum, а вы бы не могли здесь привести пример такого дополнительного когда?
А то работа стоит...
В свойствах страницы прописываем @@_menugroup=группа, где группа - название группы пунктов меню, например, right или left.
В файле zengine/classes/zmenu.php в методе appendPage после создания переменной $zmenu прописываем
$zmenu->group = (string) $page->getProperty('_menugroup');
В файле zengine/classes/zwidgets/default.php, в методе displayItems класса zwidget_pages заменяем условие:

if ($item->nomenuitem) {
	continue;
}
на

if ($item->nomenuitem || ($this->getParam('_menugroup', false) && $item->group != $this->getParam('_menugroup'))) {
	continue;
}

Для создания виджета используем доп. параметр _menugroup, значение которого соответствует требуемой группе пунктов меню:

$sidebar1->addWidget(new zwidget_pages('pages_left', array(
	'title' => 'Страницы', // Заголовок блока
	'_menugroup' => 'left' // пункты в левом столбце
)));

$sidebar2->addWidget(new zwidget_pages('pages_right', array(
	'title' => 'Страницы', // Заголовок блока
	'_menugroup' => 'right' // пункты в правом столбце
)));

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

P.S. Конечно, можно прописать все тоже самое и без затрагивания движка, создав свой источник данных (с родительским классом zsource_txt), создав свой класс меню (с родительским классом zmenu), после чего остается в источнике данных переопределить метод getMenu и в своем классе меню переопределить метод appendPage. Но это не гарантирует простоту обновления движка, т.к. в этих классах могут произойти серьезные изменения.

#6 verbov

verbov

    Новичок

  • Пользователи
  • Pip
  • 3 сообщений

Отправлено 16.03.2009, 09:11

ОК, спасибо! Буду пробовать.
Хорошо было бы, если бы вы в следующих версиях движка включили возможность разделения меню.

#7 russape

russape

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 19.03.2009, 08:25

Просмотр сообщенияverbov (16.3.2009, 14:11) писал:

ОК, спасибо! Буду пробовать.
Хорошо было бы, если бы вы в следующих версиях движка включили возможность разделения меню.
Да, очень нужная функция!  Давненько lite версия не обновлялась...
Также очень нужна обновленная документация по движку!




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей