我有一个像这样的小部件:
class ShowNewsWidget extends Widget{
public function init(){
parent::init();
}
public function run(){
$news = NewsModel::findAll(['not in ','id',$array]);
/*
HERE SHOW THE NEWS
*/
}
}
我在同一页面中多次调用此窗口小部件(布局中有一个,视图中有一个,控制器中有一个等等),我不需要在同一页面上显示2次单个新闻。所以我认为使用"而不是"条件,但我怎样才能使小部件相互通信?使用单身?
THX MS
答案 0 :(得分:2)
在Widget类中:
class ShowNewsWidget extends Widget{
public $exclude = []; // excluded news ids
public function run(){
$news = NewsModel::find()
->andFilterWhere(['not in ','id', $this->exclude])
->all();
}
}
在视图中:
<?php echo ShowNewsWidget::widget([
'exclude' => [1, 3]
]); ?>