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

Отображение объявлений

СообщениеДобавлено: 11 фев 2013, 11:24
reftsu
Подскажите как отобразить отдельно объявления, которые НЕ являются спец предложениями?

Re: Отображение объявлений

СообщениеДобавлено: 11 фев 2013, 15:16
Foton
Опишите более конкретно, где вы хотите их вывести

Re: Отображение объявлений

СообщениеДобавлено: 12 фев 2013, 08:04
reftsu
Вообще то надо сделать сортировку объявлений по только спец только не спец предложения и все... Вот такая задача при выводе объявлений

Re: Отображение объявлений

СообщениеДобавлено: 12 фев 2013, 09:01
Foton
Имеется ввиду вывод в поиске? Вообще с такой доработкой лучше обратиться через страницу "контакты"

Re: Отображение объявлений

СообщениеДобавлено: 12 фев 2013, 10:46
reftsu
Да можно в поиске но можно и просто страницу выдать...

Re: Отображение объявлений

СообщениеДобавлено: 12 фев 2013, 12:32
Xpycm
reftsu писал(а):Подскажите как отобразить отдельно объявления, которые НЕ являются спец предложениями?


Вывести на главной странице только объявления не "Спец. предложений"
Открываем файл \protected\views\site\index.php и заменяем:

Код: Выделить всё
if ($page->widget){
    echo 
'<div class="clear"></div><div>';
    
Yii::import('application.modules.'.$page->widget.'.components.*');
    if(
$page->widget == 'contactform'){
        
$this->widget('ContactformWidget', array('page' => 'index'));
    } else {
        
$this->widget(ucfirst($page->widget).'Widget');
    }
    echo 
'</div>';


на:
Код: Выделить всё
if ($page->widget){
    echo 
'<div class="clear"></div><div>';
    
Yii::import('application.modules.'.$page->widget.'.components.*');
    if(
$page->widget == 'contactform'){
        
$this->widget('ContactformWidget', array('page' => 'index'));
    }
    elseif (
$page->widget == 'apartments') {
        
$criteria = new CDbCriteria;
        
$criteria->addCondition('is_special_offer = 0');
        
$this->widget(ucfirst($page->widget).'Widget', array('criteria' => $criteria));
    }
    else {
        
$this->widget(ucfirst($page->widget).'Widget');
    }
    echo 
'</div>';

Re: Отображение объявлений

СообщениеДобавлено: 12 фев 2013, 14:05
reftsu
Подскажите тогда может что я в поиске делаю не так
protected\modules\quicksearch\controllers\MainController.php
добавить переменную is_special_offer
дописал
Код: Выделить всё
   $this->is_special_offer Yii::app()->request->getParam('is_special_offer');
    if (
$this->is_special_offer) {
        
$criteria->compare('t.is_special_offer'$this->is_special_offer);
    }  

ну и сделал отображение в форме
Код: Выделить всё
 <input type="radio" name="is_special_offer" value="1">Да
   
<input type="radio" name="is_special_offer" value="0">НЕТ<br></span

когда ищу только специальных все прекрасно работает, а когда ищу только в не специальных выдает все объявлениях и специальные и не специальные

Re: Отображение объявлений

СообщениеДобавлено: 12 фев 2013, 14:19
Xpycm
Код: Выделить всё
<input type="radio" name="is_special_offer" value="0"> 

значение is_special_offer равно 0 и логично, что "ноль" условие if ($this->is_special_offer) не пройдёт, поэтому в критерию не добавляется is_special_offer = 0 и, как следствие, выводятся все объявления

Код: Выделить всё
$criteria->addCondition('is_special_offer = :is_special_offer');
$criteria->params[':is_special_offer'] = Yii::app()->request->getParam('is_special_offer', 0); 

Re: Отображение объявлений

СообщениеДобавлено: 12 фев 2013, 20:58
reftsu
Я так понимаю надо заменить
Код: Выделить всё
$criteria->compare('t.is_special_offer'$this->is_special_offer); 

на
Код: Выделить всё
$criteria->addCondition('is_special_offer = :is_special_offer');
    
$criteria->params[':is_special_offer'] = Yii::app()->request->getParam('is_special_offer'0);  

Но это ничего не меняет.... все остается так же...

Re: Отображение объявлений

СообщениеДобавлено: 12 фев 2013, 21:17
Xpycm
Нет, поняли не правильно.
Условие
Код: Выделить всё
if ($this->is_special_offer
вообще нафиг не нужно. Читайте внимательнее