Как в коде виджета получить содержимое между beginWidget и endWidget?

В документации Yii есть пример:
<?php $this->beginWidget('path.to.WidgetClass'); ?>
…некое содержимое, которое может быть использовано виджетом…
<?php $this->endWidget(); ?>


Но нигде не могу найти как именно может быть использовано это содержимое.


Я хочу обрамлять виджетом какой-то html-код в шаблоне, и на его основе строить выдачу самого виджета. Например, обрамив виджетом один элемент какого-то списка, выводить динамический список на основе данных из модели.


Кто-нибудь знает как в коде виджета получить содержимое, заключённое между beginWidget и endWidget?
  • Вопрос задан
  • 4824 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
masterx
@masterx
Класс виджета:

<?php
class MyWidget extends CWidget
{
   public $prop1;
   public $prop2;

   public function run()
   {
      echo $this->prop1;
   }
}

?>


Вызов виджета:

<?php $this->beginWidget('myWidget', array('prop1'=>'value1','prop2'=>'value2' ))?>


То есть передаваемые виджету параметры должны быть предопределены в самом классе виджета, а также должны быть публичными.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы