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


- - - - -

Подменю


  • Закрытая тема Тема закрыта
Сообщений в теме: 9

#1 hlzon

hlzon

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

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

Отправлено 21.10.2008, 15:30

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

#2 support

support

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

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

Отправлено 21.10.2008, 15:56

Просмотр сообщенияhlzon (21.10.2008, 19:30) писал:

возможно ли сделать, чтобы подпункты меню справа не открывались, а появлялись бы только слева
Если я правильно понял, что подразумевается под пунктами меню справа, то в шаблоне нужно убрать вызов функции z_subpages(). В стандартном шаблоне этот код выглядит так:

<?php z_subpages('mtime desc',
	'<dl>',
	'<dt><a href="#link">#title</a></dt><dd>#description</dd>',
	'</dl>'); ?>


#3 hlzon

hlzon

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

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

Отправлено 21.10.2008, 16:05

Цитата

<?php z_subpages('mtime desc',
    '<dl>',
    '<dt><a href="#link">#title</a></dt><dd>#description</dd>',
    '</dl>'); ?>
спасибо, а возможно наоборот слева убрать

#4 support

support

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

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

Отправлено 21.10.2008, 16:12

Просмотр сообщенияhlzon (21.10.2008, 20:05) писал:

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

#5 hlzon

hlzon

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

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

Отправлено 21.10.2008, 16:17

если не затруднит, напишите какие именно изменения.

#6 support

support

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

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

Отправлено 21.10.2008, 16:29

Просмотр сообщенияhlzon (21.10.2008, 20:17) писал:

если не затруднит, напишите какие именно изменения.
1. В папке темы сайта создаем папку helpers (например, для темы сайта default - templates/default/helpers);
2. Копируем в созданную папку файл zengine/helpers/menu.php
3. Заменяем в скопированном файле строку 80 с
			if ($item->uri == $this->pagepath || strpos($this->pagepath, $item->uri . '/') === 0) {
на
			if (strpos($this->pagepath, $item->uri . '/') === 0) {
4. Проверяем, что в шаблоне прописан вызов функции z_menu (<?php z_menu(); ?>)
5. Сбрасываем кэш сайта (http://вашдомен/cache/drop.php)

Теперь при переходе на страницу "Новости" дочерние пункты в меню появляться не будут. Если перейти на дочернюю страницу, то слева в меню появятся подпункты пункта "Новости".

#7 hlzon

hlzon

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

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

Отправлено 21.10.2008, 17:14

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

#8 hlzon

hlzon

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

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

Отправлено 21.10.2008, 17:18

всё разобрался
заменил  
if (strpos($this->pagepath, $item->uri . '/') === 0) {
на
if (strpos($this->pagepath, $item->uri . '/') === 1) {
ещё раз спс за помощь ;)

#9 support

support

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

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

Отправлено 21.10.2008, 18:29

Просмотр сообщенияhlzon (21.10.2008, 21:18) писал:

всё разобрался
заменил  
if (strpos($this->pagepath, $item->uri . '/') === 0) {
на
if (strpos($this->pagepath, $item->uri . '/') === 1) {
ещё раз спс за помощь ;)
Лучше удалить вот этот блок кода, с 63 по 67 строчки файл menu.php:
			if ($this->showSubmenu($item) && $item->hasSubmenu()) {
				echo '<ul>';
				$this->displayItems($item);
				echo '</ul>';
			}
так же можно удалить функцию showSubmenu (строчки с 72 по 87 до удаления предыдущего куска кода), т.к. она здесь уже не используется.

#10 sokol_jack

sokol_jack

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

  • Тестеры
  • PipPipPip
  • 33 сообщений

Отправлено 22.10.2008, 09:07

А может стоит вынести это сразу в настройку сайта Zebrum Lite?
Я-то конечно могу в своих шаблонах 1 файлик добавлять - но надо же следить, чтобы helpers были свежей версии...
А так - сразу  проверяем системное значение и решаем - когда рисовать подменю, когда - нет.




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

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