1.在模塊中定義常量:
在模塊中定義變量需要在當前模塊中的Conf文件夾下穿件config,php 下
定義常量:
<?php
define("__ADMIN__", "/App/Admin");
return array(
)次企;
在html中使用smarty 模板的方式將常量輸出
<{$Think.const.__HOME__}> // 正確
<{__HOME__}>//錯誤诗芜,這是系統(tǒng)常量的寫法斤葱,自定義常量需要加$Think.const.
2.在html 頁面外接css文件和js文件:兩種方法
2-1f方法一:放在入口目錄Public目錄下
在html頁面用絕對路徑的方式配置url路徑
<script src="__PUBLIC__/bootstrap/js/bootstrap.js"></script>
2-2方法2:在當前模塊的View目錄下
在html頁面用絕對路徑的方式配置url路徑
使用相對路徑
background:url(../images/prev.png)
3.在html 頁面smarty 模板中使用 php函數(shù)
最外層的函數(shù)需要有':' 嵌套函數(shù)就不需要‘:’
href="<{:U('Admin/Advert/addAdvert')}>"http:// U函數(shù)是PHP系統(tǒng)函數(shù) 需要:
<{:md5(mb_substr($lpf,1,2,'utf-8'))}>// md5函數(shù)是PHP系統(tǒng)函數(shù) 需要:其爵,mb_substr是 嵌套在MD5函數(shù)里的系統(tǒng)函數(shù)就不需要‘:’
4 函數(shù) U()傳參
但是一般會使用超鏈接剔宪,這樣就會牽扯到傳遞參數(shù)問題嘿悬,
:http://www.oschina.net/code/snippet_259709_12813
<{:U(‘Home/Index/index',array('id'=>$data['id']))}>
一般在模板中使用變量齿兔,有兩種方法仆救,$data.id,$data['id']前者比較方便云矫,但是在U中不適用,所以用$data['id']岳悟。這樣就不會有問題了
5 路由配置的問題
路由的配置分為模塊路由和全局路由。
1:全局路由就是在全局的config文件下配置路由泼差,這個時候配置路由就需要加上模塊的名稱
'blog/:id'=>'Home/blog/read' // 表示路由到Home模塊的blog控制器的read操作方法
2:局部路由就是在當前模塊下的config文件下配置的路由贵少, 這個時候路由就不需要模塊的名稱
6重定向 Controller類的redirect方法可以實現(xiàn)頁面的重定向
$this->redirect(U('index/index'));
是會在url地址后面自動添加兩個.html.html的問題
因為
ThinkPHP源碼,文件路徑ThinkPHP\Library\Think\Controller.class.php堆缘,搜索"redirect"
protected function redirect($url,$params=array(),$delay=0,$msg='') {
$url = U($url,$params);
redirect($url,$delay,$msg);//$url是由U()方法生成的所有會默認添加一個偽靜態(tài)后綴:(不設置默認為.html)
}
總結(jié):所以在使用重定向的方法的時候通過U() 方法生成url會出現(xiàn)兩個.html所以要么修改源碼給第三個參數(shù):設置偽靜態(tài)后綴設置為空滔灶。
$url = U($url,$params,"");
然在在控制器內(nèi)使用:
$this->redirect(U('index/index'));
要么url地址采用字符串形式:
$this->redirect('index/index');
網(wǎng)友博客:http://bbs.sxqswl.net/forum.php?mod=viewthread&tid=226
關(guān)于U()方法介紹
博客:http://blog.sina.com.cn/s/blog_4b32835b010145ad.html
U 方法根據(jù) URL 模式的不同而自適應的生成不同的 URL 格式,如上面例子在各模式下生成的 URL 對比如下:
普通兼容模式:index.php?m=Index&a=list&cat_id=1&status=1
PATHINFO 模式:index.php/Index/list/cat_id/1/status/1
REWRITE 模式:Index/list/cat_id/1/status/1
REWRITE 模式吼肥,偽靜態(tài)后綴為 .html:Index/list/cat_id/1/status/1.html
REWRITE 模式录平,使用 - 分隔符與 .html 后綴:Index-list-cat_id-1-status-1.html