Создать rss в предварительном шаблоне yii2

У меня возникла проблема при создании rss в моем проекте предварительного шаблона yii2. Я попытался установить расширение zelenin rss в свой проект, добавив необходимый код в composer.json, но когда я пытаюсь его использовать, возникает ошибка: Класс «Zelenin\yii\extensions\Rss\RssView» не найден, я считаю ошибка связана с функцией контроллера, взятой из ссылки. Вот код:

    public function actionRss()
{
     $searchModel = new EventOrganizerSearch();
            $dataProvider = $searchModel->searchApprovedEvent();

    $response = Yii::$app->getResponse();
    $headers = $response->getHeaders();

    $headers->set('Content-Type', 'application/rss+xml; charset=utf-8');

    echo \Zelenin\yii\extensions\Rss\RssView::widget([
        'dataProvider' => $dataProvider,
        'channel' => [
            'title' => function ($widget, \Zelenin\Feed $feed) {
                    $feed->addChannelTitle(Yii::$app->name);
            },
            'link' => Url::toRoute('/', true),
            'description' => 'Posts ',
            'language' => function ($widget, \Zelenin\Feed $feed) {
                return Yii::$app->language;
            },
            'image'=> function ($widget, \Zelenin\Feed $feed) {
                $feed->addChannelImage('http://example.com/channel.jpg', 'http://example.com', 88, 31, 'Image description');
            },
        ],
        'items' => [
            'title' => function ($model, $widget, \Zelenin\Feed $feed) {
                    return $model->name;
                },
            'description' => function ($model, $widget, \Zelenin\Feed $feed) {
                    return StringHelper::truncateWords($model->content, 50);
                },
            'link' => function ($model, $widget, \Zelenin\Feed $feed) {
                    return Url::toRoute(['post/view', 'id' => $model->id], true);
                },
            'author' => function ($model, $widget, \Zelenin\Feed $feed) {
                    return $model->user->email . ' (' . $model->user->username . ')';
                },
            'guid' => function ($model, $widget, \Zelenin\Feed $feed) {
                    $date = \DateTime::createFromFormat('Y-m-d H:i:s', $model->updated_at);
                    return Url::toRoute(['post/view', 'id' => $model->id], true) . ' ' . $date->format(DATE_RSS);
                },
            'pubDate' => function ($model, $widget, \Zelenin\Feed $feed) {
                    $date = \DateTime::createFromFormat('Y-m-d H:i:s', $model->updated_at);
                    return $date->format(DATE_RSS);
                }
        ]
    ]);

Я следую рекомендациям в ссылке на git hub (https://github.com/zelenin/yii2-rss), но по-прежнему не может его использовать.

Я пытался в течение многих часов. Может ли кто-нибудь показать мне правильный способ реализации функций rss на моем веб-сайте? Спасибо.


person nicholas    schedule 11.08.2016    source источник


Ответы (1)


Попробуйте добавить

use Zelenin\yii\extensions\Rss;

к вашему контроллеру

person scaisEdge    schedule 11.08.2016