0
Google에 AMP (Accelerated Mobile Pages)를 사용하고 싶습니다. example.com/my-article
과 같은 기사 URL도 example.com/amp/my-article
이지만 다른 레이아웃을 사용할 수 있어야합니다.Yii2 : URL 경로에 따라 다른 레이아웃을 표시하는 방법은 무엇입니까?
질문 : 다른 레이아웃을 표시하고 기사 컨트롤러에 대한 URL 경로 규칙을 만들기 위해 Yii2 코드를 어떻게 구성해야합니까? 몇 가지 팁은 내가 만든 :
public function beforeAction($action)
{
if (...) // ??
$this->layout = 'amp';
else
$this->layout = 'main';
return parent::beforeAction($action);
}
public function actionView($article_slug)
{
$model = $this->findModel($article_slug);
if ($this->layout == 'amp')
$path = 'amp/view';
else
$path = 'html/view';
return $this->render($path, [
'model' => $model,
]);
}
config.php
무엇을 작성?
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
// ??
'amp/<article_slug:[\w\-]+>' => 'article/view',
'<article_slug:[\w\-]+>' => 'article/view',
],
],