Задать вопрос
@jehord

Как передать параметры в widget?

Есть следующий виджет:
class Polls extends \yii\base\Widget {


	public function run() {
		$poll = Poll::findOne(20);
		$answers = Poll_choice::find()->where('poll_id = 20')->all();
		if($poll){
			if(!$poll->userCanVote(\Yii::$app->request->userIP)){
				$pollVote = new Poll_vote();
				if(Poll_choice::issetChoiceInPoll($poll->id, 56)){
					$pollVote->poll_id = $poll->id;
					$pollVote->choice_id = 56;
					$pollVote->user_id = \Yii::$app->user->id;
					$pollVote->ip_address = \Yii::$app->request->userIP;
				$pollVote->save();
				}else
					echo "Test";
			}
		}
	return $this->render('poll.twig',[
		'question' => $poll,
		'answers' => $answers,
	]);
	}
}


На данный момент в модели передаются статические параметры.
Работа происходит с шаблонизатором twig. Никак не могу понять, каким образом в данный виджет можно передать данные со страницы, к примеру методом post.
  • Вопрос задан
  • 7167 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@developinwed
Добавить свойство в виджет, например message
class Polls extends \yii\base\Widget {
    public $message;
    ...
}

Тогда для передачи параметра $message в виджет достаточно использовать код:
<?php
use app\components\Polls;
?>
<?= Polls::widget(['message' => ' Yii2.0']) ?>
Ответ написан
Ваш ответ на вопрос

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

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