購(gòu)物車中還沒(méi)有商品,趕緊選購(gòu)吧!
                  首頁(yè)  >  產(chǎn)品更新  >  思途CMS系統(tǒng)手機(jī)版二次開發(fā)詳細(xì)教程
                  思途CMS系統(tǒng)手機(jī)版二次開發(fā)詳細(xì)教程

                  1.系統(tǒng)結(jié)構(gòu)

                  思途CMS系統(tǒng)手機(jī)5.0版在框架kohana3.2基礎(chǔ)上開發(fā),思途根據(jù)自身需求對(duì)底層代碼進(jìn)行了一定的改動(dòng)并集成了思途自己的模板機(jī)制,客戶在進(jìn)行模板開發(fā)之前需要熟悉kohana框架的基礎(chǔ)知識(shí),并了解我們的模板語(yǔ)法。

                  2. 基礎(chǔ)控制器和視圖

                  (1)控制器Stourweb_Controller

                         該控制器對(duì)部分網(wǎng)絡(luò)參數(shù)和配置進(jìn)行了預(yù)處理,并集成了思途的模板功能,任何各定義的控制器都需要繼承自該類。

                  (2) 視圖類Stourweb_View

                          該類具體實(shí)現(xiàn)對(duì)模板的解析,一般不需要直接使用,可以通過(guò)研究該類了解思途的模板語(yǔ)法。


                  (3)添加控制器

                             添加控制器除需要繼承自Stourweb_Controller外,還需要在/application/route.php的最前面添加路徑解析,防止訪問(wèn)該控制器時(shí)被轉(zhuǎn)到目的地首頁(yè)。


                             例如:

                             Route::set('mycontroller', 'mycontroller'/<param>', array('param' => '[a-zA-Z0-9]+'))

                              ->defaults(array(

                             'action' => 'index',

                             'controller' => ‘mycontroller'));


                  3.模板語(yǔ)法(控制器端)

                      (1) 模板目錄

                              默認(rèn)模板目錄是default, 即/application/views/default/,  自定義模板目錄與default同級(jí),名稱可以隨意,內(nèi)部結(jié)構(gòu)和default里的結(jié)構(gòu)完全一致,系統(tǒng)會(huì)優(yōu)先調(diào)用自定義模板里的模板,如果該模板不存在,則調(diào)用默認(rèn)模板里的同名文件。


                      (2) 變量賦值assign

                             assign($key,$value):  將變量賦予模板,全局變量或常量可以不用


                             例子: $this->assign(‘lines’, $linelist);

                      (3) 使用模板 display

                         display($tpl): 顯示模板, 模板后綴名必須是php, $tpl為模板相對(duì)路徑(不帶文件后綴),即相對(duì)”/application/views/模板目錄/”的路徑。


                          例子: $this->display(‘car/show’)  調(diào)用的是”/application/views/模板目錄/car/show.php”


                      (4) 參數(shù)params     

                             $this->params[$key]:  獲取url標(biāo)準(zhǔn)參數(shù)。url參數(shù)可以使用GET的形式傳輸,但一般建議使用斜線分割的方式進(jìn)行傳輸,也就是/key/value的形式。

                              

                              例子:對(duì)于地址 www.lvyou.com/phone/line/show/id/5/attrid/6,  其中phone是手機(jī)版目錄,line是控制器,show是action, 參數(shù)有id和attrid, 值分別為5,6 , 這時(shí)不能通過(guò)超全局變量$_GET來(lái)獲取他們的值,而是用$this->params[‘id’]和$this->params[‘a(chǎn)ttrid’]來(lái)獲取


                      

                   4. 模板語(yǔ)法(視圖篇)     

                       (1) 注釋自動(dòng)替換:

                              在模板上的html注釋,模板引擎會(huì)自動(dòng)替換為空.

                              例如: <!—這是注釋--->在模板解析的時(shí)候會(huì)自動(dòng)替換為空

                       (2) 變量和數(shù)組

                                變量可以直接調(diào)用


                                例如:

                                 {$price} 普通變量

                                 {TYPEID} 常量

                                 {$info[‘line’][‘name’]}  數(shù)組

                       (3) 引用模板

                             可以采用template ,include或request語(yǔ)法進(jìn)行引用其它模板, 其中template和include直接引用的模板,而request引用的是控制器, 所有當(dāng)前的控制器的變量在request中并不能使用  

                        例如: {template ‘public/header’} 或者 {request ’public/header’}

                       (4) php單行表達(dá)式解析

                                主要用于解析單行的php

                               例如: {php echo date(‘Y-m-d’);}表示輸出當(dāng)前時(shí)間


                      (5) 多行php語(yǔ)法解析

                               采用{php}語(yǔ)法體{/php}實(shí)現(xiàn)多行php語(yǔ)法解析.

                         例如: {php}

                                    for($i=0;$i<10;$i++)

                             {

                                      echo $i;

                                     }

                            {/php}

                      (6) if else else if 判斷語(yǔ)法

                         用于邏輯判斷  

                     例如:

                            {if $islogin>0}

                              <li>用戶名:{$username}</li>

                            {elseif $islogin ==0}

                              <li>請(qǐng)登陸</li>

                          {else}

                         <li>請(qǐng)登陸</li>

                          {/if}

                      (7) 循環(huán)標(biāo)簽loop,

                            用于循環(huán)數(shù)組, 功能類似foreach, 內(nèi)置變量$n表示當(dāng)前索引,從1開始。第一個(gè)參數(shù)是要循環(huán)的數(shù)組,第二個(gè)參數(shù)是key或value(假如沒(méi)有第三個(gè)參數(shù),那就是value), 第三個(gè)參數(shù)是value ;


                  例如:

                  用法1:

                  {loop $data $v}

                    <li {if $n==2}class='on'{/if}>

                            姓名:{$v}

                         </li>

                         {/loop}

                  用法2:    

                        {loop $data $k $v}

                         <li {if $n==2}class='on'{/if}>

                             index:{$k} 姓名:{$v}

                         </li>

                       {/loop}

                     (8) 函數(shù)解析

                          可以直接調(diào)用全局函數(shù):

                          {func($param1,$param2)}

                     (9) 靜態(tài)函數(shù)解析:

                          

                  {Common::func($param1,$param2))}


                     (10) CSS、JS調(diào)用

                            

                         Common::css($files,$minjs = false, $default = true): 引用css文件

                               $files是css文件名或路徑,多個(gè)文件,需要使用逗號(hào)分割。

                               $minjs表示是否將多個(gè)css文件混合

                               $default表示是否調(diào)用默認(rèn)的css文件,如果為false, 表示直接調(diào)用$files的絕對(duì)路徑,此時(shí)$files里的文件必須是路徑形式,即相對(duì)于根目錄的絕對(duì)路徑。

                               當(dāng)$default為true時(shí),該函數(shù)會(huì)優(yōu)先調(diào)用客戶自定義模板目錄的css, 再調(diào)用標(biāo)準(zhǔn)的css。

                               假設(shè)客戶在/application/views/里新建了一個(gè)模板目錄mytemplate, 并且在/application/bootstrap.php 里將$cfg_default_template名稱指定為/mytemplate/, 那么這個(gè)函數(shù)會(huì)優(yōu)化查找/public/mytemplate/css目錄的同名文件,如果不存在,則會(huì)調(diào)用/public/mytemplate里的同名文件。


                               例如: {Common::css('amazeui.css,style.css,extend.css')}


                        Common::js($files,$minjs=false,$default=true} : 使用方法同Common::css

                        

                     (11) 標(biāo)簽解析:

                          標(biāo)簽的主要作用是可以直接調(diào)用數(shù)據(jù)庫(kù)數(shù)據(jù)或其他數(shù)據(jù),而不需要在控制器里先assign后才使用。所有標(biāo)簽都定義在/taglib目錄里,思途已經(jīng)預(yù)定義了20多個(gè)常用的標(biāo)簽,可以直接使用。

                      ?標(biāo)簽就是一個(gè)只包含靜態(tài)函數(shù)的類,名稱為Taglib_Xxx, 里面的函數(shù)就是讀取數(shù)據(jù),并默認(rèn)將返回的數(shù)據(jù)賦予$data變量,這樣就可以在該標(biāo)簽里直接像使用其他常規(guī)變量一樣使用這個(gè)$data變量,如果希望返回的變量名稱不是$data, 則使用return參數(shù)來(lái)指定。

                         標(biāo)簽的模板函數(shù)為public static func($params)的形式,即只帶一個(gè)參數(shù),$params里包含了除action和return的所有參數(shù),我們根據(jù)這些參數(shù)來(lái)讀取數(shù)據(jù)。 函數(shù)內(nèi)部沒(méi)有特殊的規(guī)則要求,但一定要返回?cái)?shù)據(jù)。標(biāo)簽里也可以定義其他函數(shù)供內(nèi)部使用。

                  ?

                         例如:

                  {st:標(biāo)簽名 action=”方法名” row=”參數(shù)1” limit=”參數(shù)2” return=”data” }

                     {loop $data $v}

                        {$v}

                     {/loop}

                  {/st}


                  相關(guān)閱讀
                  說(shuō)明

                  贊   0

                  有一點(diǎn)幫助   0

                  沒(méi)有幫助  

                  參與評(píng)論

                  他們說(shuō)...

                  積分獲取更多
                  思途CMS系統(tǒng)更新動(dòng)態(tài)
                  • 2025-08-19
                    1、【功能優(yōu)化】12301合同預(yù)覽方式優(yōu)化
                    2、【功能優(yōu)化】微信支付后虛擬發(fā)貨代碼更新
                    3、【功能優(yōu)化】后臺(tái)運(yùn)營(yíng)助手新增權(quán)限管理
                    4、【功能優(yōu)化】12301合同預(yù)覽方式優(yōu)化
                    5、【功能優(yōu)化】編輯器上傳圖片支持上傳到七牛云
                    6、【功能優(yōu)化】后臺(tái)供應(yīng)商坐標(biāo)選擇優(yōu)化
                  查看更多

                  掃一掃官方微信號(hào)

                  加入微信
                  在線客服
                  微信咨詢
                  微信咨詢
                  現(xiàn)在咨詢,獲取演示賬號(hào)
                  企業(yè)logo小米
                  立即掃碼加我微信
                  電話咨詢
                  咨詢電話
                  028-61558715
                  預(yù)約演示
                  亚洲日韩一区二区三区成人_国产老熟女一区二区三区_亚洲一区二区三区福利视频_国产丝袜美腿一区二区三区

                                  亚洲欧美成αv人在线观看 性一区二区视频在线 | 亚洲偷精品国产五月丁香麻豆 | 中文字幕欧美精品另类小说 | 五月天天爽天天狠久久久综合 | 亚洲中文日韩乱码AV | 亚洲色偷偷偷网站色偷一区 |