Leaderboard
Popular Content
Showing content with the highest reputation on 04/15/15 in all areas
-
1 pointЛибо просто в списке меню навести мышку на кнопку Редактировать с карандашиком и, в подсвеченной ссылке, посмотреть значение переменной menu_id
-
1 pointВы сначала создалли меню на один пункт, потом подключили его в это меню, а потом добавили остальные три пункта? Верно? Если да, то это кеширование в действии. Откройте в другом браузере или закройте этот и откройте снова, что бы сбросилась текущая сессия. Либо, на время тестирования-отладки можете добавить в private function getTemplateMenu($menues=array(){ первой же строкой unset($_SESSION['_site_cache']['nave_menu']); Это будет обнулять кеш при каждом F5, зато не будет пугать отсутствием пунктов
-
1 pointИтак, если у нас осталось место в навигаторе где изначально выводятся разделы структуры, у нас может возникнуть желание добавить туда что-то от себя. Для формирования этого блока служит функция шаблона реалия getTemplateMenu, которая пользуется услугами декоратора меню. Логи этого декоратора довольно сложна, именно поэтому мы не стали выдавать его в виде шаблона, а свели до $navmenu. Суть задачи - позволить нехитрым набором опций сообщать декоратору меню, что у куда вставить нам в нашу менюху. Я предусмотрел вставку двух типов: 1) вставка простой ссылки 2) вставка блока с выпадающими подпунктами, которые формируются на базе одного из меню из раздела Контент - Меню. А) Для начала улучшим функцию getTemplateMenu. Находим ее в /template/frontend/realia/main/main.php и заменяем на http://pastebin.com/NpibVwer Главное отличие, что она теперь умеет понимать переданные нами параметры и пытается кешировать в сессию некоторые данные. Т.е. если вы укажете ей строить дополнительный пункт на базе какой-то менюшки, то она не будет на всех переходах требовать его от бд, а возьмет один раз и запомнит на всю вашу сессию. Б) Параметры функции. Что бы указать чем и где дополнить нам меню нужно указать функции параметры. Параметры указываются в виде массива $menues=array( array( 'id'=>25, /*ID меню из Контент - Меню. Если указать ID не существующего в данный момент Меню, то получится просто пункт с меню, без выпадающего блока, тогда данный пункт даже не буде. Если нужно навставлять ссылок, то просто ставьте там 10000 и дальше*/ 'title'=>'О нас', /*Выводимая надпись на пункте*/ 'position'=>'behind',/*Расположение относительно пунктов Структуры. Если не указано или не behind, то after - в конце*/ 'href'=>'/somelink/'/*Ccылка на корневом пункте. Если не указать, то будет якорь (#), те неактивная ссылка чисто для группировки*/ ), array('id'=>23,'title'=>'О вас','position'=>'after','href'=>'http://dadada.ru')); Например, нам нужно поставить в верхнее меню следующее: - в самом начале ссылку на главную - после нее ссылку на отзывы /review - в конце подключить выпадающий список из Меню - Полезная информация с ид в БД 215. Сотв. наша конфигурация буде иметь вид $menues=array(array('id'=>0, /*0-хитрое значение. Оно может быть только в одном пунке и на него автоматом ставится ссылка на корень сайта*/ 'title'=>'Главная','position'=>'behind'),array('id'=>1000, /*поставили 1000 так как такого пункта у нас в меню нет*/ 'title'=>'Отзывы','position'=>'behind','href'=>'review'),array('id'=>215, /*а такое меню есть и мы его запросили*/ 'title'=>'Полезно','position'=>'after')); В) Как это все включить. В файле /template/frontend/realia/main/main.php находим вызов $this->template->assert('navmenu', $this->getTemplateMenu()); И меняем его на $menues=array(array('id'=>0,'title'=>'Главная','position'=>'behind'), array('id'=>1000,'title'=>'Отзывы','position'=>'behind','href'=>'review'), array('id'=>215,'title'=>'Полезно','position'=>'after')); /*наш набор пунктов*/ $this->template->assert('navmenu', $this->getTemplateMenu($menues)); /*тут мы его передали в декоратор*/ В результате получаем
-
1 pointЯ уже делаю. На протяжении часа-двух напишу.
-
1 point1. файл /template/frontend/realia/standart_search_form.tpl Допустим выведем нашу галочку после набора кнопок комнатности <div class="type control-group"> <label class="control-label" for="inputType"> {$L_ROOMS1} </label> <div class="controls">...</div>добавим <div class="type control-group"><div class="controls"><div class="long_check"><input class="checkbox" type="checkbox" name="skidka" value="1"{if isset($smarty.get.skidka) && ((int)$smarty.get.skidka==1)} checked="checked"{/if} /> <label>Сделка</label></div></div></div>Галочка, как таковая есть. 2. Внедряем ее в поиск. На сегодяшний день максимально простым способом является http://www.etown.ru/s/topic/241-добавить-новые-поля-в-поиск/?p=6145 В результате получится вот такой файл http://pastebin.com/94s77T4S Т.е. перехватили из запроса, и добавили свое условие в поиск. А файл єтот, размещенный в /template/frontend/realia/main/template_search.php автоматически запрашивается механизмом поиска.
-
1 point
НГ-2014
Richardrap reacted to abushyk for сообщение в теме
С большой долей вероятности, в силу географии, я буду встречать Новый год последним из форумчан, но позволю себе поздравить всех первым. От имени команды Сайтбилля, хочу пожелать всем удачного и хорошего нового года. Что бы принес он каждому здоровье и счастье. А все остальное уже будет производным от этих трех составляющих. С наступающим!