Модуль "Контент"

Модуль контент предначен для создания и редактирования статических страниц: новостей, записей в блоге или других текстовых разделах сайта.

Подключение верстки к типу контента

В системе предусмотрен приоритет подключения view:

  1. frontend/themes/{имя_темы}/modules/content/views/frontend/post/{type_code}/view - представление для конкретного типа контента.
  2. frontend/themes/{имя_темы}/modules/content/views/frontend/post/view - представление общее для всех типов контента, если не найден шаблон конкретного типа контента.
  3. common/modules/content/views/frontend/post/view - заглушка, если ничего не было найдено.

Для добавления типа контента “Статические страницы” необходимо отредактировать верстку в шаблоне страницы frontend/themes/{имя_темы}/modules/content/views/frontend/post/page/view.

Для добавления типа контента “Новости”, “Статьи” и т.д. необходимо отредактировать верстку в шаблоне страницы frontend/themes/{имя_темы}/modules/content/views/frontend/post/{type_code}/view.

  • {имя_темы} - папка frontend/themes, где будет храниться ваша тема (можно переименовать папку “TaskOn”).
  • {type_code} - задается в разделе /content/type/manage Панели управления.

Во front-end используется метод для вывода введенной информации из дополнительного поля

  1. <?= Yii::$app->sectionManager->render('acf.content.field', [
  2. 'postId' => POST_ID
  3. 'fieldName' => FIELD_NAME
  4. ], true); ?>

FIELD_NAME - имя поля, созданное на странице /acf/group/create

Переменные, доступные в представлениях:

  • $this - yii\web\Web
  • $model - common\modules\content\models\Post

Контроллер: common/modules/content/controllers/frontend/PostController.

Экшен: actionView.

Url на фронтенде: content/{type}/{url}.

Для разграничения доступа к контенту во front-end нужно использовать статичный метод:

common\modules\content\models\PostSearch::provider(Type $type) который возвращает объект класса yii\data\ActiveDataProvider.