หลายๆ ครั้งที่เราเขียน Web Application ด้วย Yii Framework 2 นั้น เราต้องการเปลี่ยน Theme ในแต่ละ Module นั้นก็สามารถทำได้ เช่น เรามี Theme หลักของเว็บอยู่แล้ว แต่ต้องการเปลี่ยน Theme ใน Module user เพื่อให้ user ที่ login เข้ามาเห็นหน้าจอที่แตกต่างจาก Theme หลัก เป็นต้น
วิธีการตั้งค่า ให้เปิดไฟล์ Module Class เช่น frontend/modules/user/Module.php แล้วเขียนโปรแกรมกำหนดค่าดังนี้
<?php
namespace frontend\modules\user;
use Yii;
/**
* hospital module definition class
*/
class Module extends \yii\base\Module
{
/**
* @inheritdoc
*/
public $controllerNamespace = 'frontend\modules\user\controllers';
/**
* @inheritdoc
*/
public function init()
{
parent::init();
Yii::$app->view->theme = new \yii\base\Theme([
'pathMap' => ['@app/views' => '@frontend/themes/user/views'],
]);
}
}
จะทำให้ทุก Action ภายใต้ Module user ใช้ Theme ใหม่
ความคิดเห็น