Подскажите по renderDynamic

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Подскажите по renderDynamic

Сообщение kawabanga »

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

…другое HTML-содержимое…
<?php if($this->beginCache($id)) { ?>
…фрагмент кэшируемого содержимого…
    <?php $this->renderDynamic($callback); ?>
…фрагмент кэшируемого содержимого…
<?php $this->endCache(); } ?>
…другое HTML-содержимое…
Это пример в руководстве.

Подскажите, у меня есть viewfile, который кэшируется, посреди него есть динамическое содержимое, например количество просмотров статьи - $model->views.
с помощью $this->renderDynamic('dynamicTest'); , я запускаю функцию из POST controller, которая в ответ возвращает это динамическое содержимое.
public function dynamicTest() {
return "кол-во комментариев."
}


Какие образом мне передать в контроллер значение из view - $model->views ?
feodor
Сообщения: 95
Зарегистрирован: 2013.01.28, 00:02

Re: Подскажите по renderDynamic

Сообщение feodor »

Может сделать в модели геттер возвращающий число, и вызывать его как колбек.

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

$this->renderDynamic([$model, 'getViews'])
Последний раз редактировалось feodor 2017.08.17, 01:26, всего редактировалось 2 раза.
feodor
Сообщения: 95
Зарегистрирован: 2013.01.28, 00:02

Re: Подскажите по renderDynamic

Сообщение feodor »

А как можно обернуть в renderDinamic такой вызов?

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

Yii::app()->getController()->сart->getCount($color)
Не пойму как $color передать

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

$this->renderDynamic([Yii::app()->getController()->сart, 'getCount'])
feodor
Сообщения: 95
Зарегистрирован: 2013.01.28, 00:02

Re: Подскажите по renderDynamic

Сообщение feodor »

Делается через промежуточную функцию.

В контроллере делаем функцию

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

public funtion getCount($color)
{
    $this->сart->getCount($color);
}
И вызываем ее в renderDinamic

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

$this->renderDynamic('getCount', $color)
Ответить