Обьясните плз кусок кода

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
xoma_204
Сообщения: 318
Зарегистрирован: 2013.12.12, 02:06

Обьясните плз кусок кода

Сообщение xoma_204 »

Здавствуйте, помогите плз никак не могу понять,
Обяьсните плз кусок кода

Код: Выделить всё

    public function actionIndex(){
        Yii::app()->user->setState('searchUrl', NULL);

        Yii::app()->getModule('apartments');

        $criteria = new CDbCriteria;
        $criteria->condition = 'is_special_offer = 1';

        if(isset($_GET['is_ajax'])){
            $this->renderPartial('index', array(
                'criteria' => $criteria,
            ), false, true);
        }else{
            $this->render('index', array(
                'criteria' => $criteria,
            ));
        }
    } 
Почему render_partial находится в функции??? разве он не должен быть в виде?
что вообще происходит тут??
ApJIeKuHo
Сообщения: 191
Зарегистрирован: 2011.09.28, 11:21

Re: Обьясните плз кусок кода

Сообщение ApJIeKuHo »

Потому что есть условие на аякс.

Код: Выделить всё

isset($_GET['is_ajax'])
Т.е. если мы просим информацию откуда то из другого места то мы уже имеем куда ее вставлять. Соответственно нам вся страница целиков не нужна.
Стучитесь да откроется Вам, Молитесь да услышаны будете!
P.S.: Yii Jabber Conference: yii@conference.jabber.ru
xoma_204
Сообщения: 318
Зарегистрирован: 2013.12.12, 02:06

Re: Обьясните плз кусок кода

Сообщение xoma_204 »

Оюбя сните плз что призойдет в этом случае

Код: Выделить всё

 $this->renderPartial('index', array(
                'criteria' => $criteria,
            ), false, true); 
А что произойдет в этом?

Код: Выделить всё

$this->render('index', array(
                'criteria' => $criteria,
            )); 
В чем отличия???? просто понять не могу во втором случае вроде все ясно: берем кусок html рендерим в слой
а в первом случае???
Аватара пользователя
twix
Сообщения: 86
Зарегистрирован: 2011.12.12, 18:25

Re: Обьясните плз кусок кода

Сообщение twix »

$this->render() - рендерит всю страницу целиком - шаблон+вьюха
$this->renderPartial() - рендерит только вьху, без шаблона.
xoma_204
Сообщения: 318
Зарегистрирован: 2013.12.12, 02:06

Re: Обьясните плз кусок кода

Сообщение xoma_204 »

twix писал(а):$this->render() - рендерит всю страницу целиком - шаблон+вьюха
$this->renderPartial() - рендерит только вьху, без шаблона.
НЕ понял...и что он делает с этим куском html????ведь страница должна показываться целиком
ApJIeKuHo
Сообщения: 191
Зарегистрирован: 2011.09.28, 11:21

Re: Обьясните плз кусок кода

Сообщение ApJIeKuHo »

Не всегда, например при подгрузке элементов на странице использовать следует renderPartial()
Стучитесь да откроется Вам, Молитесь да услышаны будете!
P.S.: Yii Jabber Conference: yii@conference.jabber.ru
Аватара пользователя
flashimage
Сообщения: 1517
Зарегистрирован: 2011.01.23, 12:43

Re: Обьясните плз кусок кода

Сообщение flashimage »

xoma_204 писал(а):
twix писал(а):$this->render() - рендерит всю страницу целиком - шаблон+вьюха
$this->renderPartial() - рендерит только вьху, без шаблона.
НЕ понял...и что он делает с этим куском html????ведь страница должна показываться целиком
Применяется когда надо отрендерить часть страницы из файла, или при ajax
Бранчи это гомеоморфические эндофункторы, которые мапятся на субманифолды пространства Гилберта.
Аватара пользователя
S c
Сообщения: 883
Зарегистрирован: 2012.04.11, 14:46

Re: Обьясните плз кусок кода

Сообщение S c »

xoma_204 писал(а):
twix писал(а):$this->render() - рендерит всю страницу целиком - шаблон+вьюха
$this->renderPartial() - рендерит только вьху, без шаблона.
НЕ понял...и что он делает с этим куском html????ведь страница должна показываться целиком
если это аякс запрос - от отдаётся кусок html кода, который будет вставлен в определенное место страницы, с которой был отправлен аякс
Ответить