Пример #1
0
 public function actionFeed($type = 'rss')
 {
     header('Content-Type: application/rss+xml');
     if (Yii::app()->request->getQuery('model') !== null) {
         $modelClass = 'Model' . ucfirst(Yii::app()->request->getQuery('model'));
         ContentUnit::loadUnits();
         if (!FeedHelper::isFeedPresent($modelClass, Yii::app()->request->getQuery('id') === null)) {
             throw new CHttpException(404, Yii::t('cms', 'The requested page does not exist.'));
         }
         // Фид определенного раздела
         if (Yii::app()->request->getQuery('id') !== null && ($content = call_user_func(array($modelClass, 'model'))->findByPk(intval(Yii::app()->request->getQuery('id'))))) {
             FeedHelper::renderFeed($type, $content);
             // Фид всех записей этого типа
         } else {
             FeedHelper::renderFeed($type, $modelClass);
         }
         // Общий фид
     } else {
         FeedHelper::renderFeed($type);
     }
 }