最新消息: 新版网站上线了!!!

Yii安装extension扩展的方法

Yii 官网使用 extension的字眼, 不过在 yii 1.3版之后导入 module的概念以后, 选择使用 module的字眼可能会比较实在.
 
话不多说, 该怎麼安装 extension呢?
先找到你要的功能, 官网的 extension 提供狠多 module供使用者分享与下载
一般流程大约是:
将 module 解压缩到你个人 webapp的 module资料夹底下
更改一些 config档 protected/config/main.php, 例如其中的 modules, 一定得加入该 module
在资料库建立table 与载入所需的 database, 通常在 module底下的 protected/data
在 views裡头更改你要在哪边呈现的资讯
剩下微调大概就是参考每个下载 module的 installation guide
特别注意的是, 一般 module预设 table会使用 tbl_的 prefix, 建议在 config/main.php中的 db加入 tablePrefix=>array(1tbl_1),的属性
以 User management為例:
 
找到想用的 extensions, 例如我用 官网 extensions的 Sorted by rating 找到 yii-user
依照安装步骤
下载并解压缩后, 将 user资料夹放在 protected/modules下
更改 config/main.php档
1import1=>array(
1application.models.*1,
1application.components.*1,
1application.modules.user.models.*1,
1application.modules.user.components.*1,
),
 
...
1modules1=>array(
1user1,
),
...
 
// application components
1components1=>array(
...
1user1=>array(
// enable cookie-based authentication
1allowAutoLogin1=>true,
1loginUrl1 => array(1/user/login1),
),
...
),
载入 table, 自行将 protected/modules/user/protected/data裡的资料库档 import 到 database, 例如, 若是用 mysql架设, 则 import  schema.mysql.sql档到 protected/config/main.php中设定的资料库裡
在 zii.widgets.CMenu中自行更改版面的 view(这边是以导航列為例, 更改 protected/views/layout/main.php)
array(1url1=>Yii::app()->getModule(1user1)->loginUrl, 1label1=>Yii::app()->getModule(1user1)->t("Login"), 1visible1=>Yii::app()->user->isGuest),
array(1url1=>Yii::app()->getModule(1user1)->registrationUrl, 1label1=>Yii::app()->getModule(1user1)->t("Register"), 1visible1=>Yii::app()->user->isGuest),
array(1url1=>Yii::app()->getModule(1user1)->profileUrl, 1label1=>Yii::app()->getModule(1user1)->t("Profile"), 1visible1=>!Yii::app()->user->isGuest),
array(1url1=>Yii::app()->getModule(1user1)->logoutUrl, 1label1=>Yii::app()->getModule(1user1)->t("Logout").1 (1.Yii::app()->user->name.1)1, 1visible1=>!Yii::app()->user->isGuest),
完成
补充, 若资料连结上有点问题的话, 可尝试在 config/main.php的 db中, 加入属性 1tablePrefix1=>1_tbl1, 试试
另外, 在 mysql载入的时候, 若发生The 1InnoDB1 feature is disabled2 you need MySQL built with 1InnoDB1 to have it working 的错误讯息, 请修改 mysql的 config档 (my.ini)将skip-innodb註解掉
 

转载请注明:谷谷点程序 » Yii安装extension扩展的方法