Страница 1 из 1

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

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

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


Спасибо!!!!

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

СообщениеДобавлено: 04 май 2014, 13:06
Xpycm
В 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. В ней всё популярно расписано.

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

СообщениеДобавлено: 04 май 2014, 17:08
Rainstorm
Все это конечно офигенно, но нельзя ли описать на более человеческом языке,примерно так:
В файле таком то, заменить код такой то кодом таким то...
Спасибо!

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

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

Если не можете по написанному сами вставить, то мы можем только платно (т.к будет затрачено время разработчика) это сделать на вашем сайте. Обращайтесь - http://monoray.ru/contact

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

СообщениеДобавлено: 05 май 2014, 00:48
romaleonfor
Есть проблема

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

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



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

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



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


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


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

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


и

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


Спасибо!

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

СообщениеДобавлено: 05 май 2014, 06:45
Xpycm
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 - это как ездить на авто и не знать куда доливать охлаждающую жидкость.

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

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

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

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

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

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

на старой вкрсии все работало отлично