Page.php 1.45 KB
<?php

namespace backend\modules\page\models;

use Yii;
use yii\helpers\{
    Url, ArrayHelper
};
//
use thread\app\model\interfaces\BaseBackendModel;

/**
 * Class Page
 *
 * @package backend\modules\page\models
 * @author FilamentV <vortex.filament@gmail.com>
 * @copyright (c), Thread
 */
class Page extends \thread\modules\page\models\Page implements BaseBackendModel
{
    public $title;

    /**
     * Backend form dropdown list
     * @return array
     */
    public static function dropDownList()
    {
        return ArrayHelper::map(self::findBase()->joinWith(['lang'])->undeleted()->all(), 'id', 'lang.title');
    }

    /**
     * @param $params
     * @return \yii\data\ActiveDataProvider
     */
    public function search($params)
    {
        return (new search\Page())->search($params);
    }

    /**
     * @param $params
     * @return \yii\data\ActiveDataProvider
     */
    public function trash($params)
    {
        return (new search\Page())->trash($params);
    }

    /**
     * Url route to view particular page
     * @param null $schema
     * @return string
     */
    public function getUrl($schema = null)
    {
        //return Url::toRoute(['/page/page/view', 'alias' => $this->alias], $schema);
        return ($schema)
            ? Yii::$app->urlManagerFrontEnd->createAbsoluteUrl(['/page/page/view', 'alias' => $this->alias])
            : Yii::$app->urlManagerFrontEnd->createUrl(['/page/page/view', 'alias' => $this->alias]);

    }
}