首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Yii 控制器操作視圖 JavaScript/CSS 完整技巧:註冊腳本、Meta、核心庫、資源發布

     編輯:PHP 綜合知識

常用路徑取得

Yii::getFrameworkPath();           // 框架核心目錄
Yii::app()->getRuntimePath();      // protected/runtime
Yii::import('application.venders.*'); // 載入第三方庫

Meta 標籤註冊

Yii::app()->clientScript->registerMetaTag('keywords', '關鍵字');
Yii::app()->clientScript->registerMetaTag('description', '一些描述');
Yii::app()->clientScript->registerMetaTag('author', '作者');

CSS / JavaScript 檔案註冊

// 基礎寫法
Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl . '/css/my.css');
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/my.js');

// 推薦:統一取得 ClientScript 實例
$cs = Yii::app()->getClientScript();

// 註冊 JS 檔案(指定位置:HEAD / POS_HEAD / POS_END / POS_BEGIN / POS_LOAD)
$cs->registerScriptFile('js/amcharts/javascript/amcharts.js', CClientScript::POS_HEAD);
$cs->registerScriptFile('js/amcharts/javascript/raphael.js', CClientScript::POS_HEAD);

// 註冊內嵌 JS 代碼片段(key 唯一標識,避免重複)
$cs->registerScript('f1', 'var chart;');
$cs->registerScript('f2', 'var newValueAxis;');
$cs->registerScript('f3', 'var addAxis;');
// ... 後續片段會依 key 順序輸出

// 註冊核心庫(jQuery 等)
Yii::app()->clientScript->registerCoreScript('jquery');

視圖中取得控制器/動作資訊

Yii::app()->getController()->id;                    // 當前控制器 ID
Yii::app()->getController()->getAction()->id;       // 當前動作 ID

請求與網址工具

Yii::app()->request->userHostAddress;  // 客戶端 IP
Yii::app()->request->isPostRequest;    // 是否 POST
Yii::app()->request->hostInfo;         // 當前域名(含協定)
Yii::app()->basePath;                  // protected 實體路徑
Yii::app()->request->urlReferrer;      // 來源頁 URL
Yii::app()->request->url;              // 當前請求 URL
Yii::app()->homeUrl;                   // 首頁 URL
Yii::app()->user->returnUrl;           // 登入後導向 URL
dirname(Yii::app()->basePath);         // 專案根目錄

URL 建立與訊息快閐

$this->createUrl('urlBoyLeeTest'); // 建立路由 URL

Yii::app()->user->setFlash('success', "儲存成功!");
Yii::app()->user->setFlash('error', "發生錯誤,請檢查!");
Yii::app()->user->setFlash('notice', "一般提示訊息");

視圖中對應顯示:

user->getFlashes() as $key => $message): ?>
    

模組資源發布

// 模組類別中
public $assetsUrl;
public function init() {
    $this->assetsUrl = Yii::app()->getAssetManager()->publish(
        Yii::getPathOfAlias('application.modules.模組名.assets')
    );
}
// 視圖使用

延伸閱讀

更多 Yii 技巧請參考專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》等。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved