Victor_winner

Новое меню в шаблоне

Recommended Posts

Разработчики, подскажите, как лучше подключить своё меню.

Имеется ввиду хочу подключить анимационное меню, с выпадающими списками (jQuery), но основное меню , где располагается структура разделов, ломать не хочу. Как понимаю, нужно исправлять файл main.tpl, там добавлять своё меню. А в каком файле хранится сам вид меню, и строка подключения к пунктам меню.

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


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

На примере purecssmenu

Ищем в файле /template/frontend/agency/main/main.php

Строку

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

Тут подключается класс для генерации меню.

Можно сделать локальную копию данного класса и переписать метод get_menu();

Так чтобы он подгружал нужные подменю себе

Внутри метода

    /**     * Get menu     * @param     * @return     */    function get_menu () {		$category_structure = $this->loadCategoryStructure();		$level = 1;        $rs = '<ul class="pureCssMenu pureCssMenum" style="border: 0px;">';        foreach ( $category_structure['childs'][0] as $item_id => $categoryID ) {                        if ( count($category_structure['childs'][$categoryID]) > 0 ) {                $name = '<span>'.$category_structure['catalog'][$categoryID]['name'].'</span>';            } else {                $name = '<span>'.$category_structure['catalog'][$categoryID]['name'].'</span>';            }                        if($category_structure['catalog'][$categoryID]['url']!=''){            	if ( preg_match('/^http/', $category_structure['catalog'][$categoryID]['url']) ) {            		$rs .= '<li class="pureCssMenui"><a class="pureCssMenui'.($category_structure['catalog'][$categoryID]['current']==1 ? ' current' : '').'" href="'.$category_structure['catalog'][$categoryID]['url'].'">'.$name.'</a>';            	} else {            		$rs .= '<li class="pureCssMenui"><a class="pureCssMenui'.($category_structure['catalog'][$categoryID]['current']==1 ? ' current' : '').'" href="'.SITEBILL_MAIN_URL.'/'.$category_structure['catalog'][$categoryID]['url'].'">'.$name.'</a>';            	}            }else{            	$rs .= '<li class="pureCssMenui"><a class="pureCssMenui'.($category_structure['catalog'][$categoryID]['current']==1 ? ' current' : '').'" href="'.SITEBILL_MAIN_URL.'/topic'.$categoryID.'.html">'.$name.'</a>';            }        	            $rs .= $this->getChildNodes($categoryID, $category_structure, $level + 1, $current_category_id=0);            $rs .= '</li>';        }        $rs .= '</ul>';        return $rs;    }

Можно добавить код после цикла генерации основных <li> с добавлением массива своих <li> из другого меню.

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


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

Продолжаю тему. 

Так как у меня тема realty, то  тип меню - megamenu. Поэтому, как я понимаю, нужно брать файл megamenu.php из директории SITE\rieltor\apps\system\lib\frontend\menu. 

Он выглядит так

 Метод get_menu() выглядит так

function get_menu () {        $category_structure = $this->loadCategoryStructure();        $level = 1;        $rs = '<div id="menu_mega" class="jqueryslidemenu"><ul id="menusys_mega">        ';        foreach ( $category_structure['childs'][0] as $item_id => $categoryID ) 		{            if($category_structure['catalog'][$categoryID]['url']!='')			{            	if ( preg_match('/^http/', $category_structure['catalog'][$categoryID]['url']) ) 				{            		$rs .= '<li class="item hasChild"><a class="'.($category_structure['catalog'][$categoryID]['current']==1 ? ' active' : ' item').'" href="'.$category_structure['catalog'][$categoryID]['url'].'"><span class="no-image"><span class="menu-title">'.$category_structure['catalog'][$categoryID]['name'].'</span></span></a>';            	} else {            		$rs .= '<li class="item hasChild"><a class="'.($category_structure['catalog'][$categoryID]['current']==1 ? ' active' : ' item').'" href="'.SITEBILL_MAIN_URL.'/'.$category_structure['catalog'][$categoryID]['url'].'"><span class="no-image"><span class="menu-title">'.$category_structure['catalog'][$categoryID]['name'].'</span></span></a>';            	}            		             }else{            	$rs .= '<li class="item hasChild"><a class="'.($category_structure['catalog'][$categoryID]['current']==1 ? ' active' : ' item').'" href="'.SITEBILL_MAIN_URL.'/topic'.$categoryID.'.html"><span class="no-image"><span class="menu-title">'.$category_structure['catalog'][$categoryID]['name'].'</span></span></a>';            }        	            $rs .= $this->getChildNodes($categoryID, $category_structure, $level + 1, $current_category_id);            $rs .= '</li>';        }        $rs .= '</ul></div>        ';        return $rs;    }

Как я понимаю переменные типа $category_structure['catalog'][$categoryID]['url'] - переименованные переменные, которые берутся из базы данных, из таблиц re-menu и  re-menu-structure. 

 

1. Друзья, подскажите, какая именно технология передачи полей из таблицы re-menu-structure, в меню, которые я буду создавать. То есть как мне создать простое меню

2. После какого именного <li>  мне нужно будет прибегнуть к созданию своего меню. И как это будет выглядеть. 

 

Меню будет иметь следующий вид:

 
('Продать или сдать квартиру'),
('Снять квартиру'),
('Оформить ипотеку'),
('Связаться с нами'),
('О компании'),
('Услуги в Комсомольске-на-Амуре'),
('Услуги в Краснодаре'),
('Вопрос - ответ'),
('Вакансии'),
('Контакты');
 
Оно должно вести на статические страницы сайта.
Пункты ('Услуги в Комсомольске-на-Амуре') и ('Услуги в Краснодаре') должны иметь подвкладки. 

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


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

Вы имели ввиду так ? http://td50.ru/ Создать проще простого. Можете заказать свое меню. я напишу под ваш сайт (шаблон)

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


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

ДА, меню такого рода. Пункты я оговорил сверху. Под заказом я понимаю работа за деньги? Мне нужно меню для шаблона realty. Какие ещё нужные данные?

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


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

ДА, меню такого рода. Пункты я оговорил сверху. Под заказом я понимаю работа за деньги? Мне нужно меню для шаблона realty. Какие ещё нужные данные?

Готово, вам останется создать страницы и в ссылках(в меню) указать их путь. вот ваше меню http://ned.td50.ru

 

ЧЕРТ НЕ ПОД ТОД ШАБЛОН НАПИСАЛ МЕНЮ(((((.для вашего меню мне потребуется доступ к вашему сайту по ФТП. но поработать над ним могу либо сегодня с 00-00(28.01.2014) до 8-00(28.01.2014) по мск либо 29.01.2014 с 11-00 до 20-30 по мск. 

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Похожие публикации

    • Автор: mrbot
      Добрый вечер. Присутствует множество дублей страниц объявлений - дублируются со слешем и без слеша.
      Для избавления от дублей настроил редиректы в .htcaccess, все работает. Но, естественно, в меню и в категориях ссылки остались старые. То есть сейчас на сайте 300 страниц с кодом редиректа 301. Это очень не устраивает.
      Нужно решение - изменить формирование всех ссылок на сайте, сделать так, чтобы все ссылки были, например, на страницы со слешем на конце. Тогда все ссылки будут прямые.
      Обратился к специалисту, мне сообщили что можно поменять в файлах шаблона /template/frontend/realia/main/realia_menu_decorator.php
      Естественно, не очень понимаю, как и что тут прописать чтобы ссылки были одного типа. Если кто сталкивался с такой задачей, в целях избавления от страниц с кодом 301, подскажите решение. 
    • Автор: nevr
      Подскажите как сделать чтоб подпункты меню в шаблоне realia были одинаковой ширины как и основной пункт меню

    • Автор: Kupidom
      На скрине показал какое меню нужно редактировать, где в админке это делается? или какой файл?? 

    • Автор: FD
      Здравствуйте! Делаю сайт на основе шаблона Pure - http://ap89.etownpro.ru/
      Как добавить в главное меню произвольные ссылки, например на статические страницы или статьи?
      Нашел тему , но как понял она для шаблона realia...
       
      Необходимо до пункта "Аренда" вставить ссылку на страницу "О компании", а после пункта "Продажа" ссылку на страницу "Контакты" и т.д. 
       
       

    • Автор: shra75
      1 вопрос) 
      Зашел в меню: "Приложения" - "Менеджер меню" и создал в структуре верхнего меню, пункт "Блог". Соответственно, в самом верху сайта он появился... все шло нормально. Далее, в "Приложения" - "Редактор страниц", создал страницу: list.html и снова возвращаюсь в пункт "Блог" и в его настройках, в URL вписываю: list.html Сохраняю, и на выходе получаю навигационную кнопочку "Блог", при нажатии на которую, открывается страница вида: www.site.ru/list.html/ - мне ОЧЕНЬ не нравится закрывающий тег / в конце ссылки. Почему он появляется и как его убрать? Я же создавал ссылку специально без него.
       
      2 вопрос)
      Как сделать, что бы при нажатии на кнопочку "Блог", у меня открывалась страничка с моими статьями в виде блога (Заголовок статьи, краткое описание статьи и ниже сслыка, типа: "Читать далее")? Ну и сортировка количества статей на страничке (допустим по 10 статей, на каждой страничке). Короче, стандартный блоговый шаблон как на этом сайте (кстати на он сделан на нашей системе) http://nuzhendom.com/news/ .
       
      Спасибо, если есть видеоурок, буду благодарен за ссылку.