Евгений Самко

Создание подпунктов меню для шаблона Realty

Recommended Posts

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

Мне нужно, чтобы при наведении на пункт меню "Главная" выскакивали подпункты, которые прописаны в разделе "Статичные страницы".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Принципиально задача идентичная http://www.etown.ru/s/topic/1877-шаблон-realia-пожалуйста-помогите-с-меню-категорий/?p=19956

Разница лишь в том, что нужно сформировать меню, пунктами которого перечислить нужные статический страницы и ссылки на них, и, затем, подключить это меню.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня в коде страницы main.tpl написан такой код:

<nav class="navbar navbar-default navbar-inverse"><div class="navbar-header"><button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#b-menu-2"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button></div><div class="collapse navbar-collapse" id="b-menu-2"><ul class="nav navbar-nav"><li role="presentation"><a href="{$estate_folder}/">Главная</a></li>   <li role="presentation"><a href="{$estate_folder}/complex">Помещения в комплексах</a></li>   <li role="presentation"><a href="{$estate_folder}/developer">Акции застройщиков</a></li>   <li role="presentation"><a href="{$estate_folder}/office">Офисные</a></li>  <li role="presentation"><a href="{$estate_folder}/shop">Торговые</a></li>   <li role="presentation"><a href="{$estate_folder}/service">Сферы услуг</a></li>   <li role="presentation"><a href="{$estate_folder}/profitable-areas">Доходные</a></li>   <li role="presentation"><a href="{$estate_folder}/karta">Поиск по карте</a></li></ul></div></nav>

Я так понимаю, для реализации (по вашей инструкции) подпунктов меню, нужно этот код удалить и вставить {$названиеменю} ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Понял. Это другой шаблон. Не realia. Я через выходные посмотрю как там все устроено и можно ли использовать похожий способ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня в коде страницы main.tpl написан такой код:

Я так понимаю, для реализации (по вашей инструкции) подпунктов меню, нужно этот код удалить и вставить {$названиеменю} ?

Да, вы все правильно понимаете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

К сожалению, данный алгоритм действий (http://www.etown.ru/s/topic/1877-шаблон-realia-пожалуйста-помогите-с-меню-категорий/?p=19956) не дает результата в виде подпунктов меню для шаблона  Realto.
Пробовал заменить все пути и названия realia на realto, но результата не принесло.
Прошу помочь в данной ситуации...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Переделка Реальто.

 

1.

В принципе Реально нормально выглядит только с одним типом меню - purecss. Поддержка других типов не нужна. Для этого сделаем безальтернативную меню.

В /template/frontend/realto/main/main.php находим блок

if ( $this->getConfigValue('menu_type') == 'purecss' ) {$menues=array(array('id'=>0,'title'=>'Главная','position'=>'behind'),array('id'=>1000,'title'=>'Отзывы','position'=>'behind','href'=>'review'),array('id'=>26,'title'=>'Полезно','position'=>'after'));require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/main/menu/purecssmenu.php');$purecssmenu = new PureCSS_Menu();$this->template->assert('slide_menu', $purecssmenu->get_menu($menues));} elseif ( $this->getConfigValue('menu_type') == 'onelevel' ) {require_once(SITEBILL_DOCUMENT_ROOT.'/apps/onelevelmenu/lib/onelevelmenu.php');$onelevel = new Onelevel_Menu();$this->template->assert('slide_menu', $onelevel->get_menu());} else {require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/menu/slidemenu.php');$slidemenu = new Slide_Menu();$this->template->assert('slide_menu', $slidemenu->get_menu());}

и заменяем его на (запомним эту вставку, она понадобится позже)

require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/main/menu/purecssmenu.php');$purecssmenu = new PureCSS_Menu();$this->template->assert('slide_menu', $purecssmenu->get_menu());

2.

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

Тут http://pastebin.com/jiAEcVeE лежит вариант файла /template/frontend/realto/main/menu/purecssmenu.php с поддержкой встраивания. Берем его контент и заменяем исходный.

 

3.

В нашей вставке, которую я отметил красненьким в первом пункте меняем на

$menues=array();require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/main/menu/purecssmenu.php');$purecssmenu = new PureCSS_Menu();$this->template->assert('slide_menu', $purecssmenu->get_menu($menues));

Теперь оформляя $menues способом как я описал в здесь в секции Б, можно формировать свой набор меню.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Получилось, спасибо!
Но есть один нюанс, который мне не удается убрать... 

На сайте в горизонтально меню появляется пункт меню, который я в массиве (перечня пунктов) не указываю.
http://www.realinvest.biz/- пункт "Коммерческая недвижимость"

Вот то, что я указал : 

$menues=array(array(

'id'=>0, /*0-хитрое значение. Оно может быть только в одном пунке и на него автоматом ставится ссылка на корень сайта*/
'title'=>'Главная',
'position'=>'behind'
),
array(
'id'=>21,
'title'=>'Услуги',
'position'=>'behind'
));
 
А на сайте почему-то выводит 3-й пункт... "Коммерческая недвижимость".

ПУнкт "Коммерческая недвижимость" указана в админке (в разделе  Приложения > Структура) http://realinvest.biz/admin/?action=structure

как убрать этот пункт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Основной задачей меню является вывод пунктов Структуры. Оно умеет это от рождения. А дополнительные пункты вводить в себя мы его как раз научили. Вот это "Коммерческая недвижимость" - это и есть ваша структура. В данный момент она у вас состоит из единственного корневого пункта, вот он и выводится. А 'position'=>'behind\after' указывает именно куда относительно пунктов Структуры вставить ваши кастомные пункты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Парадоксально звучит, но все же, как убрать пункт "Коммерческая недвижимость" с горизонтального меню? 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Парадоксально звучит, но все же, как убрать пункт "Коммерческая недвижимость" с горизонтального меню? 

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

Удалить в структуре

http://wiki.sitebill.ru/index.php?title=%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, пожалуйста, как сортировать элементы (подпункты стр. Главная):

О компании, Пресс-центр, Маркетинг и PR ...  -  сайт http://realinvest.biz/ ?

 

Пробовал и по ID (через БД) , и по "Сортировка" (указывая цифру в каждом подпункте), при этом чистил кеш браузера, но безрезультатно (

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, пожалуйста, в чем проблема? Подпункты меню "Главная" (http://realinvest.biz/) при наведении не выскакивают  - в браузере Internet Explorer 9 ? 

В Опере все ок... 

У вас в демо версии все подпукты работают  - http://realto.sitebill.ru

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас