{%ITEMS%}"; public $itemTemplate = '
  • {%TITLE%} {%TITLE%} {%CREATED_AT%}{%COMMENT_COUNT%}{%COMMENT%}
  • '; public function run() { $items = ""; $linksModel = $this->getData(); foreach ($linksModel as $model){ /** @var Comment $model */ $item = str_replace("{%URL%}", $url = Url::to(['article/view', 'id' => $model->id]), $this->itemTemplate); $item = str_replace("{%IMG_URL%}", $model->article->getThumbUrlBySize(125, 86), $item); $item = str_replace("{%TITLE%}", $model->article->title, $item); $item = str_replace("{%CREATED_AT%}", Yii::$app->getFormatter()->asDate($model->article->created_at), $item); $item = str_replace("{%COMMENT_COUNT%}", $model->article->comment_count, $item); $item = str_replace("{%COMMENT%}", Yii::t('frontend', ' Comments'), $item); $items .= $item; } return str_replace("{%ITEMS%}", $items, $this->layout); } private function getData() { if( $this->data === null ){ /** @var CommentServiceInterface $commentService */ $commentService = \Yii::$app->get(CommentServiceInterface::ServiceName); $this->data = $commentService->getRecentComments(8); } return $this->data; } }