Каждый элемент структуры сайта является экземпляром класса skeeks\cms\models\CmsTree, который в свою очередь является экземпляром класса yii\db\ActiveRecord, а следовательно и обладает всеми его возможностями + индивидуальными.
Все имеющиеся свойства класса вынесены в докстринг, и поэтому при грамотной настройки вашей IDE вы всегда будете комфортно писать код, не вспоминя какие свойства есть у этого класса.
/**
* This is the model class for table "{{%cms_tree}}".
*
* @property integer $id
* @property integer $created_by
* @property integer $updated_by
* @property integer $created_at
* @property integer $updated_at
* @property string $name
* @property string $description_short
* @property string $description_full
* @property string $code
* @property integer $pid
* @property string $pids
* @property integer $level
* @property string $dir
* @property integer $has_children
* @property integer $priority
* @property string $tree_type_id
* @property integer $published_at
* @property string $redirect
* @property string $tree_menu_ids
* @property string $active
* @property string $meta_title
* @property string $meta_description
* @property string $meta_keywords
* @property string $site_code
* @property string $description_short_type
* @property string $description_full_type
* @property integer $image_full_id
* @property integer $image_id
* @property integer $redirect_tree_id
* @property integer $redirect_code
* @property string $name_hidden
*
*
* @property string $view_file //version > 2.4.8
*
* @property string $absoluteUrl
* @property string $url
*
* @property CmsStorageFile $image
* @property CmsStorageFile $imageFull
*
* @property CmsTreeFile[] $cmsTreeFiles
* @property CmsTreeImage[] $cmsTreeImages
* @property CmsTree $redirectTree
*
* @property CmsStorageFile[] $files
* @property CmsStorageFile[] $images
*
* @property CmsContentElement[] $cmsContentElements
* @property CmsContentElementTree[] $cmsContentElementTrees
* @property CmsSite $site
* @property CmsSite $cmsSiteRelation
* @property CmsTreeType $treeType
* @property CmsTreeProperty[] $cmsTreeProperties
*
* @property Tree $parent
* @property Tree[] $parents
* @property Tree[] $children
* @property Tree $root
* @property Tree $prev
* @property Tree $next
*/
В зависимости от типа раздела $tree->treeType->code тот или иной раздел, будет отрисовываться в шаблоне совпадающим с кодом типа.
Так же у раздела может быть задано свойство $tree->view_file в этом случае шаблон будет совпадать с названием этого свойства.
В указанный шаблон приходит переменная $model которая является объектом раздела.
Пример шаблона раздела:
<?
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 06.03.2015
*/
/* @var $this \yii\web\View */
/* @var \skeeks\cms\models\Tree $model */
?>
Привет я страница а зовут меня: <? echo $model->name; ?>
У меня есть главное изображение: <?= $model->image->src; ?>
Тип страницы понятное название: <?= $model->treeType->code; ?>
Тип страницы код: <?= $model->treeType->code; ?>
Анонс: <?= $model->description_short; ?>
Подробный контент: <?= $model->description_full; ?>
Уровень вложенности: <?= $model->level; ?>
Относительный путь к ней: <?= $model->url; ?>
Убсолютный путь: <?= $model->absoluteUrl; ?>
Активна или нет: <?= $model->active; ?>
Время создания: <?= $model->created_at; ?>
Создал меня юзер: <?= $model->createdBy->displayName; ?> [<?= $model->createdBy->id; ?>]
<hr />
Дочерние разделы: <? $model->children; ?>
<? foreach($model->children as $childTree) : ?>
<?= $childTree->name; ?>
<? endforeach?>
<hr />
Изображения: <? $model->images; ?>
<? foreach($model->images as $image) : ?>
<?= $image->src; ?>
<?= $image->name; ?>
<?= $image->image_width; ?>
<?= $image->size; ?>
<? endforeach?>
В указанном шаблоне все достаточно понятно.
Создание новых типов разделов
Создать новый тип раздела можно через систему администрирования:
Popular
Релиз SkeekS CMS 5.5.11 работает с yii2 2.0.24
- Aug 13, 2019
Как отправить форму в yii2 и skeeks cms через ajax?
- Apr 18, 2019