Навигация(меню) для сайта

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Навигация(меню) для сайта

Сообщение romaleonfor » 03 май 2014, 20:15

Доброго времени суток!!! Как добавить в свой сайт навигацию(меню) для удобства поиска недвижимости? Вот пример с сайта http://pmrdom.md

menu2.png
Пример меню
menu2.png (239.74 КБ) Просмотров: 9528


Спасибо!!!!
romaleonfor
Незнакомец
 
Сообщения: 24
Зарегистрирован: 14 окт 2013, 17:34
Очки репутации: 3

Re: Навигация(меню) для сайта

Сообщение Xpycm » 04 май 2014, 13:06

В protected/controllers/SiteController.php, метод actionIndex перед $criteriaNews = new CDbCriteria(); добавить код :

Код: Выделить всё
$types Apartment::getTypesArray();
$objTypes CHtml::listData(ApartmentObjType::model()->findAll(), 'id''name');
$summaryArr = array();

$whereSQL ' WHERE  active = '.Apartment::STATUS_ACTIVE;
if (
param('useUserads'))
    
$whereSQL .= ' AND owner_active = '.Apartment::STATUS_ACTIVE;

$sql 'SELECT COUNT(id) as count, type, obj_type_id FROM {{apartment}} '.$whereSQL.' GROUP BY type, obj_type_id';
$res Yii::app()->db->createCommand($sql)->queryAll();

if (
count($res) && count($types) && count($objTypes)) {
    foreach(
$res as $r) {
        
$summaryArr[$r['type']]['info'] = array(
            
'url' => Yii::app()->createAbsoluteUrl('quicksearch/main/mainsearch', array('type' => $r['type'])),
            
'title' => $types[$r['type']]
        );
        
$summaryArr[$r['type']]['items'][] = array(
            
'count' => $r['count'],
            
'url' => Yii::app()->createAbsoluteUrl('quicksearch/main/mainsearch', array('type' => $r['type'], 'objType' => $r['obj_type_id'])),
            
'title' => $objTypes[$r['obj_type_id']]
        );
    }


чуть ниже в этом же методе значение $summaryArr передать в представление.
Код: Выделить всё
$this->renderPartial('index', array('page' => $page'newsIndex' => $newsIndex'summaryArr' => $summaryArr)); 

и
Код: Выделить всё
$this->render('index', array('page' => $page'newsIndex' => $newsIndex'summaryArr' => $summaryArr)); 


В представлении protected/views/site/index.php вставить:
Код: Выделить всё
<?php if (isset($summaryArr) && count($summaryArr)) : ?>
    <div class="clear"></div>
    <?php foreach($summaryArr as $val):?>

        <div style="border-right: 1px dashed #CCCCCC; float: left; margin-right: 7px; width: 180px;">
            <a style="color:#000; text-decoration:none" href="<?php echo $val['info']['url'];?>"><strong><?php echo $val['info']['title'];?>:</strong></a>

            <ul style="list-style-type: disc;">
                <?php foreach($val['items'] as $item):?>
                    <li style="font-size: 13px; line-height: 16px; padding: 0; white-space: nowrap;">
                        <a href="<?php echo $item['url'];?>"><?php echo $item['title'];?></a>
                        <small><?php echo $item['count'];?></small>
                    </li>
                <?php endforeach;?>
            </ul>
        </div>
    <?php endforeach;?>
    <div class="clear"></div>
<?php endif; ?>


Чтобы были ЧПУ ссылки почитайте тему viewtopic.php?f=17&t=158. В ней всё популярно расписано.
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1591
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Навигация(меню) для сайта

Сообщение Rainstorm » 04 май 2014, 17:08

Все это конечно офигенно, но нельзя ли описать на более человеческом языке,примерно так:
В файле таком то, заменить код такой то кодом таким то...
Спасибо!
Rainstorm
Незнакомец
 
Сообщения: 1
Зарегистрирован: 04 май 2014, 17:03
Очки репутации: 0

Re: Навигация(меню) для сайта

Сообщение Xpycm » 04 май 2014, 17:53

Не имею ни малейшего представления как ещё понятнее можно написать.
"В protected/controllers/SiteController.php, метод actionIndex перед $criteriaNews = new CDbCriteria(); добавить код :"
"В представлении protected/views/site/index.php вставить:"

Если не можете по написанному сами вставить, то мы можем только платно (т.к будет затрачено время разработчика) это сделать на вашем сайте. Обращайтесь - http://monoray.ru/contact
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1591
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Навигация(меню) для сайта

Сообщение romaleonfor » 05 май 2014, 00:48

Есть проблема

В представлении protected/views/site/index.php код добавил:

22.png
22.png (86.58 КБ) Просмотров: 9497



В protected/controllers/SiteController.php код добавил:

12.png
12.png (102.91 КБ) Просмотров: 9497



Вопрос: значение $summaryArr передать в представление, что это означает, какое действие?
Пробовал вставлять в разные места результат или ошибка или ничего((((
Я поставил эти значения чуть снизу, навигация появилась но с боком
На странице появились три копии этой страницы


33.png
33.png (246.73 КБ) Просмотров: 9497


Помогите, что делать с этими двумя строками

Код: Выделить всё
$this->renderPartial('index', array('page' => $page, 'newsIndex' => $newsIndex, 'summaryArr' => $summaryArr));  


и

Код: Выделить всё
$this->render('index', array('page' => $page, 'newsIndex' => $newsIndex, 'summaryArr' => $summaryArr));  


Спасибо!
romaleonfor
Незнакомец
 
Сообщения: 24
Зарегистрирован: 14 окт 2013, 17:34
Очки репутации: 3

Re: Навигация(меню) для сайта

Сообщение Xpycm » 05 май 2014, 06:45

romaleonfor писал(а):Вопрос: значение $summaryArr передать в представление, что это означает, какое действие?

Помогите, что делать с этими двумя строками
Код: Выделить всё
$this->renderPartial('index', array('page' => $page, 'newsIndex' => $newsIndex, 'summaryArr' => $summaryArr));  

и
Код: Выделить всё
$this->render('index', array('page' => $page, 'newsIndex' => $newsIndex, 'summaryArr' => $summaryArr));  

Спасибо!


В файле protected\controllers\SiteController.php, в методе actionIndex, вы увидите такие строки:
Код: Выделить всё
$this->renderPartial('index', array('page' => $page, 'newsIndex' => $newsIndex)); 

и, чуть ниже, такую:
Код: Выделить всё
$this->render('index', array('page' => $page, 'newsIndex' => $newsIndex)); 


Вот "передать значение переменной" означает "добавить в массив" и в итоге вместо:
Код: Выделить всё
$this->renderPartial('index', array('page' => $page, 'newsIndex' => $newsIndex)); 

будет:
Код: Выделить всё
$this->renderPartial('index', array('page' => $page, 'newsIndex' => $newsIndex, 'summaryArr' => $summaryArr));   


, а вместо:
Код: Выделить всё
$this->render('index', array('page' => $page, 'newsIndex' => $newsIndex)); 

получится:
Код: Выделить всё
$this->render('index', array('page' => $page, 'newsIndex' => $newsIndex, 'summaryArr' => $summaryArr));   


Рекомендовал бы вам почитать книги - viewtopic.php?f=17&t=608#p2975 . Имхо, заниматься сайтами и не знать основ PHP, MySQL, HTML, CSS - это как ездить на авто и не знать куда доливать охлаждающую жидкость.
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1591
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Навигация(меню) для сайта

Сообщение romaleonfor » 05 май 2014, 11:17

Как говорится, смотрю в книгу и вижу ... Строчки похожие перед глазами, добавить только 'summaryArr' => $summaryArr и всё %)

Спасибо Xpycm за поддержку!!!! Всё получилось, навигация работает!!! Согласен, PHP, MySQL не мой конёк *PARDON* . Более, менее дружу с HTML и CSS. Рекомендации учту :-) . Ещё раз спасибо
romaleonfor
Незнакомец
 
Сообщения: 24
Зарегистрирован: 14 окт 2013, 17:34
Очки репутации: 3

Re: Навигация(меню) для сайта

Сообщение shvirda » 11 май 2017, 20:54

© Open Real Estate FREE V1.19.0, 2017 в эту версии сделал как на другом сайте ранее изменял, меню вышло, но работает как то криво, при переходе например по квартирам, открываются не сниму 1 комнатные например, а все 1комнатные, подскажите где ошибка пожалуйста.

Сайт http://pozitiv.kg
копии файлов https://cloud.mail.ru/public/DZAv/Z3ETuRiiQ

на старой вкрсии все работало отлично
Сам себе дизайнер, хостер, и т.д. pozitiv.kg Хостинг=(Ubuntu+VestaCP+Ngnix)-VM Winserver 2012
Аватара пользователя
shvirda
Незнакомец
 
Сообщения: 10
Зарегистрирован: 28 июн 2014, 09:37
Откуда: Бишкек
Очки репутации: 0


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron