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

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

Добавлено: 2014.03.04, 18:00
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 находится в функции??? разве он не должен быть в виде?
что вообще происходит тут??

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

Добавлено: 2014.03.04, 18:43
ApJIeKuHo
Потому что есть условие на аякс.

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

isset($_GET['is_ajax'])
Т.е. если мы просим информацию откуда то из другого места то мы уже имеем куда ее вставлять. Соответственно нам вся страница целиков не нужна.

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

Добавлено: 2014.03.04, 19:31
xoma_204
Оюбя сните плз что призойдет в этом случае

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

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

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

$this->render('index', array(
                'criteria' => $criteria,
            )); 
В чем отличия???? просто понять не могу во втором случае вроде все ясно: берем кусок html рендерим в слой
а в первом случае???

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

Добавлено: 2014.03.04, 20:02
twix
$this->render() - рендерит всю страницу целиком - шаблон+вьюха
$this->renderPartial() - рендерит только вьху, без шаблона.

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

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

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

Добавлено: 2014.03.04, 20:50
ApJIeKuHo
Не всегда, например при подгрузке элементов на странице использовать следует renderPartial()

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

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

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

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