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

Дополнительное поле в админке (объявления)

СообщениеДобавлено: 09 авг 2012, 14:22
DmitryGreen
Доброго времени суток! Можно ли добавить в административной части сайта (Управление объявлениями) дополнительное поле сортировки (Типы объявления - квартиры, дома, дачи и т.д.) а то когда 1000 объявлений очень долго ищешь то объявление которое тебе нужно исправить! :)

Re: Дополнительное поле в админке (объявления)

СообщениеДобавлено: 13 авг 2012, 12:18
Koduc
В /protected/modules/apartments/views/backend/admin.php
Находим блок:
Код: Выделить всё
        array(
            'name' => 'type',
            'type' => 'raw',
            'value' => 'Apartment::getNameByType($data->type)',
            'htmlOptions' => array(
                'style' => 'width: 100px;',
            ),
            'filter' => Apartment::getTypesArray(),//CHtml::dropDownList('Apartment[type_filter]', $currentType, Apartment::getTypesArray(true)),
            'sortable' => false,
        ), 

и допуисываем после него:
Код: Выделить всё
        array(
            'name' => 'obj_type_id',
            'header' => 'Тип недвижимости',
            'type' => 'raw',
            'value' => 'Apartment::getNameByObjType($data->obj_type_id)',
            'htmlOptions' => array(
                'style' => 'width: 100px;',
            ),
            'filter' => Apartment::getObjTypesArray(),
            'sortable' => false,
        ), 


После чего в protected/modules/apartments/models/Apartment.php дописываем функцию:
Код: Выделить всё
    static $_objTypeArr = null;

    public static function getNameByObjType($type){
        if(!isset(self::$_objTypeArr)){
            self::$_objTypeArr = self::getObjTypesArray();
        }
        return self::$_objTypeArr[$type];
    } 

В том же файле в функции rules находим строку и дописываем:
Код: Выделить всё
array('city_id, owner_active, active, type, ownerEmail, obj_type_id', 'safe', 'on' => 'search'), 


После чего находим функцию search(), строчку там и дописываем:
Код: Выделить всё
        $criteria->compare('type', $this->type);
        $criteria->compare('obj_type_id', $this->obj_type_id); 


Теперь поиск должен будет работать.

Re: Дополнительное поле в админке (объявления)

СообщениеДобавлено: 15 авг 2012, 00:46
DmitryGreen
Огромное спасибо! все получилось! =)

Re: Дополнительное поле в админке (объявления)

СообщениеДобавлено: 12 ноя 2012, 11:25
DmitryGreen
Доброго времени суток... подскажите пожалуйста как убрать из админки строку Владелец и заменить ее на Стоимость (цену за недвижимость)???

Re: Дополнительное поле в админке (объявления)

СообщениеДобавлено: 14 ноя 2012, 09:42
Foton
Здравствуйте!
Нужно в файле protected\modules\apartments\views\backend\admin.php заменить:
Код: Выделить всё
array(
    'name' => 'ownerEmail',
    'htmlOptions' => array(
        'style' => 'width: 150px;',
    ),
    'type' => 'raw',
    'value' => '($data->user->id != 1) ? CHtml::link(CHtml::encode($data->user->email),array("/users/backend/main/view","id" => $data->user->id))  : tt("administrator", "common")',
),
 

на
Код: Выделить всё
array(
    'name' => 'price',
    'htmlOptions' => array(
        'style' => 'width: 150px;',
    ),
    'type' => 'raw',
    'value' => '$data->getPrettyPrice()',
    'filter' => false,
    'sortable' => false,
),
 

Re: Дополнительное поле в админке (объявления)

СообщениеДобавлено: 02 мар 2013, 16:00
MexxSeo
Здравствуйте!
Сделал вывод даты добавления объявления:
Код: Выделить всё
        array(
            
'header' => 'Добавлено',
            
'name' => 'date_created',
            
'type' => 'raw',
            
'value' => 'CHtml::link(CHtml::encode($data->date_created),array("/apartments/backend/main/view","id" => $data->id))',
            
'sortable' => false,
        ), 


Дата отображается в формате: 2013-02-19 23:12:32
Как сделать, что бы отображалось просто: 19-02-2013 ?
И еще такой вопрос как можно сделать сортировку по определенным датам? Например, нужно отобрать объекты, которые были добавлены с 10-02-2013 по 15-02-2013 ?

Re: Дополнительное поле в админке (объявления)

СообщениеДобавлено: 09 мар 2013, 13:44
Xpycm

Re: Дополнительное поле в админке (объявления)

СообщениеДобавлено: 21 май 2013, 11:02
Alf
По поводу замены пользователя на стоимость - очень пригодилось.
Но возможно ли вывести не (2 500 000 руб. Продажа) а просто (2 500 000) и разрешить сортировку?

Re: Дополнительное поле в админке (объявления)

СообщениеДобавлено: 21 май 2013, 11:09
Foton
Попробуйте заменить '$data->getPrettyPrice()' на '$data->price' и установить sortable в true

Re: Дополнительное поле в админке (объявления)

СообщениеДобавлено: 21 май 2013, 12:30
Alf
Foton писал(а):Попробуйте заменить '$data->getPrettyPrice()' на '$data->price' и установить sortable в true

Сделал, отображается как надо, но сортировка не заработала... по прежнему сортируется по "ID"