123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?php
- namespace app\models;
- use yii\helpers\Url;
- use Yii;
- /**
- * This is the model class for table "page".
- *
- * @property int $id
- * @property int $status Скрыть
- * @property int $menu Показывать в меню
- * @property int $created Время создания
- * @property int $updated Время обновления
- * @property int|null $create_user_id Создал
- * @property int|null $update_user_id Обновил
- * @property int $parent_id Родительский раздел
- * @property string|null $title Заголовок страницы
- * @property string $title_menu Заголовок меню
- * @property string $title_seo Title страницы
- * @property string|null $description_seo Meta Description
- * @property string|null $keywords_seo Meta keywords
- * @property string $key Ключевое слово для URL
- * @property int $norder Порядок
- * @property string|null $path Полный путь
- * @property string|null $content Тело страницы
- * @property string|null $index_controller Index Controller
- * @property string|null $index_action Index Action
- * @property string|null $view_controller View Controller
- * @property string|null $view_action View Action
- * @property string|null $index_params
- * @property string $lang Язык страницы
- * @property string|null $layout layout
- *
- * @property User $createUser
- * @property User $updateUser
- */
- class Page extends \yii\db\ActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return 'page';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['status', 'menu', 'create_user_id', 'update_user_id', 'parent_id', 'norder'], 'integer'],
- [['title_menu', 'title_seo'], 'required'],
- [['content'], 'string'],
- [['title', 'title_menu', 'title_seo', 'path', 'index_controller', 'index_action', 'view_controller', 'view_action', 'index_params', 'layout'], 'string', 'max' => 255],
- [['description_seo', 'keywords_seo', 'key'], 'string', 'max' => 400],
- [['lang'], 'string', 'max' => 3],
- [['create_user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::class, 'targetAttribute' => ['create_user_id' => 'id']],
- [['update_user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::class, 'targetAttribute' => ['update_user_id' => 'id']],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'status' => 'Скрыть',
- 'menu' => 'Показывать в меню',
- 'created' => 'Время создания',
- 'updated' => 'Время обновления',
- 'create_user_id' => 'Создал',
- 'update_user_id' => 'Обновил',
- 'parent_id' => 'Родительский раздел',
- 'title' => 'Заголовок страницы',
- 'title_menu' => 'Заголовок меню',
- 'title_seo' => 'Title страницы',
- 'description_seo' => 'Meta Description',
- 'keywords_seo' => 'Meta keywords',
- 'key' => 'Ключевое слово для URL',
- 'norder' => 'Порядок',
- 'path' => 'Полный путь',
- 'content' => 'Тело страницы',
- 'index_controller' => 'Index Controller',
- 'index_action' => 'Index Action',
- 'view_controller' => 'View Controller',
- 'view_action' => 'View Action',
- 'index_params' => 'Index Params',
- 'lang' => 'Язык страницы',
- 'layout' => 'layout',
- ];
- }
- /**
- * Gets query for [[CreateUser]].
- *
- * @return \yii\db\ActiveQuery
- */
- public function getCreateUser()
- {
- return $this->hasOne(User::class, ['id' => 'create_user_id']);
- }
- /**
- * Gets query for [[UpdateUser]].
- *
- * @return \yii\db\ActiveQuery
- */
- public function getUpdateUser()
- {
- return $this->hasOne(User::class, ['id' => 'update_user_id']);
- }
-
- public static function getPage($url)
- {
- return self::findOne(['path' => $url]);
- }
- public function getUrl($full = false):string
- {
- $base = Url::base('https');
- $alias = trim( $this->path );
- return ($full ? $base : "")."/".$alias;
- }
- }
|