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

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

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

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

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

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

Сообщение DmitryGreen » 09 авг 2012, 14:22

Доброго времени суток! Можно ли добавить в административной части сайта (Управление объявлениями) дополнительное поле сортировки (Типы объявления - квартиры, дома, дачи и т.д.) а то когда 1000 объявлений очень долго ищешь то объявление которое тебе нужно исправить! :)
DmitryGreen
Незнакомец
 
Сообщения: 16
Зарегистрирован: 21 июн 2012, 10:45
Очки репутации: 3

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

Сообщение Koduc » 13 авг 2012, 12:18

В /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); 


Теперь поиск должен будет работать.
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

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

Сообщение DmitryGreen » 15 авг 2012, 00:46

Огромное спасибо! все получилось! =)
DmitryGreen
Незнакомец
 
Сообщения: 16
Зарегистрирован: 21 июн 2012, 10:45
Очки репутации: 3

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

Сообщение DmitryGreen » 12 ноя 2012, 11:25

Доброго времени суток... подскажите пожалуйста как убрать из админки строку Владелец и заменить ее на Стоимость (цену за недвижимость)???
DmitryGreen
Незнакомец
 
Сообщения: 16
Зарегистрирован: 21 июн 2012, 10:45
Очки репутации: 3

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

Сообщение Foton » 14 ноя 2012, 09:42

Здравствуйте!
Нужно в файле 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,
),
 
Foton
Разработчик
Разработчик
 
Сообщения: 431
Зарегистрирован: 26 янв 2012, 14:58
Очки репутации: 8

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

Сообщение MexxSeo » 02 мар 2013, 16:00

Здравствуйте!
Сделал вывод даты добавления объявления:
Код: Выделить всё
        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 ?
MexxSeo
Незнакомец
 
Сообщения: 4
Зарегистрирован: 02 мар 2013, 15:55
Очки репутации: 0

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

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

Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

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

Сообщение Alf » 21 май 2013, 11:02

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

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

Сообщение Foton » 21 май 2013, 11:09

Попробуйте заменить '$data->getPrettyPrice()' на '$data->price' и установить sortable в true
Foton
Разработчик
Разработчик
 
Сообщения: 431
Зарегистрирован: 26 янв 2012, 14:58
Очки репутации: 8

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

Сообщение Alf » 21 май 2013, 12:30

Foton писал(а):Попробуйте заменить '$data->getPrettyPrice()' на '$data->price' и установить sortable в true

Сделал, отображается как надо, но сортировка не заработала... по прежнему сортируется по "ID"
Alf
Незнакомец
 
Сообщения: 4
Зарегистрирован: 21 май 2013, 10:57
Очки репутации: 0

След.

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

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

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

cron