Commit f3b6b9b186ada670465c6dec317ee477cf0ede1a
1 parent
3fa9a3b6
-Seo component in process
Showing
3 changed files
with
72 additions
and
4 deletions
Show diff stats
frontend/config/main.php
| 1 | 1 | <?php |
| 2 | -$params = array_merge( | |
| 2 | + use artbox\core\components\LanguageRequest; | |
| 3 | + use artbox\core\components\SeoUrlManager; | |
| 4 | + | |
| 5 | + $params = array_merge( | |
| 3 | 6 | require(__DIR__ . '/../../common/config/params.php'), |
| 4 | 7 | require(__DIR__ . '/../../common/config/params-local.php'), |
| 5 | 8 | require(__DIR__ . '/params.php'), |
| ... | ... | @@ -14,8 +17,9 @@ return [ |
| 14 | 17 | 'controllerNamespace' => 'frontend\controllers', |
| 15 | 18 | 'components' => [ |
| 16 | 19 | 'request' => [ |
| 20 | + 'class' => LanguageRequest::className(), | |
| 17 | 21 | 'csrfParam' => '_csrf-frontend', |
| 18 | - 'baseUrl' => '', | |
| 22 | + 'baseUrl' => '', | |
| 19 | 23 | ], |
| 20 | 24 | 'user' => [ |
| 21 | 25 | 'identityClass' => 'common\models\User', |
| ... | ... | @@ -39,9 +43,10 @@ return [ |
| 39 | 43 | 'errorAction' => 'site/error', |
| 40 | 44 | ], |
| 41 | 45 | 'urlManager' => [ |
| 46 | + 'class' => SeoUrlManager::className(), | |
| 42 | 47 | 'enablePrettyUrl' => true, |
| 43 | - 'showScriptName' => false, | |
| 44 | - 'rules' => [ | |
| 48 | + 'showScriptName' => false, | |
| 49 | + 'rules' => [ | |
| 45 | 50 | ], |
| 46 | 51 | ], |
| 47 | 52 | ], | ... | ... |
| 1 | +<?php | |
| 2 | + namespace frontend\controllers; | |
| 3 | + | |
| 4 | + use artbox\core\models\Page; | |
| 5 | + use yii\helpers\Json; | |
| 6 | + use yii\helpers\Url; | |
| 7 | + use yii\web\Controller; | |
| 8 | + use yii\web\NotFoundHttpException; | |
| 9 | + | |
| 10 | + /** | |
| 11 | + * Class PageController | |
| 12 | + * | |
| 13 | + * @package frontend\controllers | |
| 14 | + */ | |
| 15 | + class PageController extends Controller | |
| 16 | + { | |
| 17 | + public function actionView($id) | |
| 18 | + { | |
| 19 | + $model = $this->findModel($id); | |
| 20 | + | |
| 21 | + var_dump(Url::to(Json::decode($model->lang->alias->route))); | |
| 22 | + | |
| 23 | + return $this->render( | |
| 24 | + 'view', | |
| 25 | + [ | |
| 26 | + 'model' => $model, | |
| 27 | + ] | |
| 28 | + ); | |
| 29 | + } | |
| 30 | + | |
| 31 | + protected function findModel($id) | |
| 32 | + { | |
| 33 | + $model = Page::findOne($id); | |
| 34 | + | |
| 35 | + if (!empty($model)) { | |
| 36 | + return $model; | |
| 37 | + } else { | |
| 38 | + throw new NotFoundHttpException('Model not found'); | |
| 39 | + } | |
| 40 | + } | |
| 41 | + } | |
| 0 | 42 | \ No newline at end of file | ... | ... |
| 1 | +<?php | |
| 2 | + use artbox\core\models\Page; | |
| 3 | + use yii\helpers\Url; | |
| 4 | + use yii\web\View; | |
| 5 | + | |
| 6 | + /** | |
| 7 | + * @var View $this | |
| 8 | + * @var Page $model | |
| 9 | + */ | |
| 10 | + | |
| 11 | +?> | |
| 12 | + | |
| 13 | +<h1> | |
| 14 | + <?= $model->lang->title ?> | |
| 15 | + | |
| 16 | + <?= Url::to( | |
| 17 | + [ | |
| 18 | + 'page/view', | |
| 19 | + 'id' => 10, | |
| 20 | + ] | |
| 21 | + ) ?> | |
| 22 | +</h1> | |
| 0 | 23 | \ No newline at end of file | ... | ... |