Дополнительными свойствами в SkeekS CMS обладают:

  • пользователи
  • элементы контента
  • разделы.
$element = new \skeeks\cms\models\CmsContentElement();
$tree = new \skeeks\cms\models\CmsTree();
$user = new \skeeks\cms\models\CmsUser()

Пример обращения к свойствам модели:

/* @var $element \skeeks\cms\models\CmsContentElement */

$element = \skeeks\cms\models\CmsContentElement::findOne(10);

$element->relatedPropertiesModel->toArray(); //все доступные свойства
$element->relatedPropertiesModel->hasAttribute('name'); //Данное свойство существует?
$element->relatedPropertiesModel->getAttribute('name'); //Значение конкретного свойства
$element->relatedPropertiesModel->getSmartAttribute('brand'); //Значение конкретного свойства, если оно является например значением списка

//Получение доп. свойства у текущего пользователя
\Yii::$app->user->identity->relatedPropertiesModel->getAttribute('city');

//Найти модель раздела по ее id и взять ее свойство
$tree = \skeeks\cms\models\CmsTree::findOne(10);
$tree->relatedPropertiesModel->getAttribute('bgUrl');

Пример сохранения и обновления свойств:

//Свойства текущего пользователя
$userProperties = \Yii::$app->user->identity->relatedPropertiesModel;

$userProperties->city = 'Москва';
$userProperties->age = 11;
//or
$userProperties->setAttribute('city', 'Москва');
$userProperties->setAttribute('age', 11);
//or
$userProperties->setAttributes([
    'city'  => 'Москва',
    'age'   => 11
]);

if ($userProperties->save())
{
    echo 'Данные сохранены';
} else 
{
    print_r( $userProperties->getErrors() );
}

Более подробная информация появится позже.