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

Re: Ошибки на демо сайте

СообщениеДобавлено: 31 мар 2013, 14:57
yuran25
Прошу прощения, сейчас все нормально, наверное я забыл сбросить кеш браузера.

Re: Ошибки на демо сайте

СообщениеДобавлено: 07 май 2013, 13:09
Cornil
И опять про справочники... Данная ошибка присутствует и на демо-сайте и в дистрибутиве.
1. Если при редактировании объявления АДМИН допустил ошибку, то пропадают справочники на вкладке "дополнительно". Т.е. их вообще нет. Естественно, после повторного сохранения, объявление остается без галочек.
Решается так. Ищем в \protected\modules\apartments\controllers\backend\MainController.php такой код:
Код: Выделить всё
        if(!isset($_POST['Apartment'])){
            $categories = Apartment::getCategories($this->_model->id, $this->_model->type);
        } 

меняем на:
Код: Выделить всё
        if(isset($_POST['category']) && is_array($_POST['category'])) {
            $categories = Apartment::getCategories('', $this->_model->type);
            foreach($_POST['category'] as $cat => $cat_arr){
                foreach($cat_arr as $cat_key => $cat_value){
                    $categories[$cat]['values'][$cat_key]['selected'] = 1;
                }
            }
        } else $categories = Apartment::getCategories($this->_model->id, $this->_model->type); 

Здесь мы берем основной массив со справочниками и накладываем на него то, что пришло через $_POST. Неплохо бы вынести в отдельную функцию, но лень :-[

2. Если при редактировании объявления ПОЛЬЗОВАТЕЛЬ допустил ошибку, то галочки в справочниках сбрасываются в исходное состояние.
Решаем похожим образом (\protected\modules\userads\controllers\MainController.php):
Код: Выделить всё
        if($model->active == Apartment::STATUS_DRAFT){
            Yii::app()->user->setState('menu_active', 'apartments.create');
            $this->render('create', array(
                'model' => $model,
                'categories' => Apartment::getCategories($id, $model->type),
            ));
            return;
        }

        $this->render('update',
            array(
                'model'=>$model,
                'categories' => Apartment::getCategories($id, $model->type),
            )
        ); 

меняем на:
Код: Выделить всё
//========== CORNIL - bug
        if(isset($_POST['category']) && is_array($_POST['category'])) {
            $categories = Apartment::getCategories('', $model->type);
            foreach($_POST['category'] as $cat => $cat_arr){
                foreach($cat_arr as $cat_key => $cat_value){
                    $categories[$cat]['values'][$cat_key]['selected'] = 1;
                }
            }
        } else $categories = Apartment::getCategories($id, $model->type);
//========== /CORNIL - bug

        if($model->active == Apartment::STATUS_DRAFT){
            Yii::app()->user->setState('menu_active', 'apartments.create');
            $this->render('create', array(
                'model' => $model,
                'categories' => $categories,    //---------- cornil - bug
            ));
            return;
        }

        $this->render('update',
            array(
                'model'=>$model,
                'categories' => $categories,    //---------- cornil - bug
            )
        ); 


А вообще, по хорошему, надо было бы еще и Apartment::getCategories поправить...

Re: Ошибки на демо сайте

СообщениеДобавлено: 10 май 2013, 09:27
Cornil
А вот еще мелкая неприятность... Присутствует и на демо и в дистрибутиве.
После добавления комментария и админского одобрения, в объявлении появляются звездочки, тут все нормально.
Но при отключении комментария, звездочки никуда не исчезают. Единственный способ их убрать - удалить комментарий в активном состоянии.
Лечится довольно просто.

Открываем файл /protected/modules/comments/models/Comment.php и вот из этого:
Код: Выделить всё
    protected function afterSave(){
        if ($this->active == Comment::STATUS_APPROVED){
            $this->_updateRating();
        }
        return parent::afterSave();
    }

    public function afterDelete(){
        if ($this->active == Comment::STATUS_APPROVED){
            $this->_updateRating();
        }
        return parent::afterDelete();
    } 

делаем это:
Код: Выделить всё
    protected function afterSave(){
//        if ($this->active == Comment::STATUS_APPROVED){
            $this->_updateRating();
//        }
        return parent::afterSave();
    }

    public function afterDelete(){
//        if ($this->active == Comment::STATUS_APPROVED){
            $this->_updateRating();
//        }
        return parent::afterDelete();
    } 

Re: Ошибки на демо сайте

СообщениеДобавлено: 14 май 2013, 09:04
Koduc
Cornil писал(а):А вот еще мелкая неприятность... Присутствует и на демо и в дистрибутиве.

Спасибо за замечание! Внесем изменения в код.

Re: Ошибки на демо сайте

СообщениеДобавлено: 10 авг 2014, 15:04
EvgenJekson
Добрый день!
Тестирую бесплатную версию. Наткнулся на косячёк: в редактировании объявления при переходе на вкладку "Карта" пустое поле и предложение ткнуть на местоположение. Карта гугля не подгружается.
Полез посмотреть демку прошки - такая же беда.
Скриншёт прилагаю.
Снимок_всего_экрана_10_08_14__16_07.png
Снимок_всего_экрана_10_08_14__16_07.png (246.63 КБ) Просмотров: 19332


P.S.
1 - Браузер - хром
2 - снимок получился каким то большим, как засунуть в спойлер не нашел...

Re: Ошибки на демо сайте

СообщениеДобавлено: 11 авг 2014, 13:06
fisher

Re: Ошибки на демо сайте

СообщениеДобавлено: 11 авг 2014, 20:03
EvgenJekson
fisher писал(а):решение viewtopic.php?f=3&t=1139

Спасибо! работает!

Re: Ошибки на демо сайте

СообщениеДобавлено: 04 мар 2015, 15:30
mi1man
Нашел небольшой косячок здесь: http://re-pro.monoray.net/formeditor/ba ... te?lang=ru:

- Два одинаковых поля Отображение (Редактор форм - Новое поле)

Изображение

Re: Ошибки на демо сайте

СообщениеДобавлено: 04 мар 2015, 17:37
support
Спасибо за найденный недочёт и подробное описание к нему