• <ul id="ay02o"></ul>
    <kbd id="ay02o"></kbd>
    
    
  • <samp id="ay02o"><pre id="ay02o"></pre></samp>
    <pre id="ay02o"></pre>
    購物車中還沒有商品,趕緊選購吧!
    首頁  >  產品更新  >  思途CMS系統手機版二次開發詳細教程
    思途CMS系統手機版二次開發詳細教程

    1.系統結構

    思途CMS系統手機5.0版在框架kohana3.2基礎上開發,思途根據自身需求對底層代碼進行了一定的改動并集成了思途自己的模板機制,客戶在進行模板開發之前需要熟悉kohana框架的基礎知識,并了解我們的模板語法。

    2. 基礎控制器和視圖

    (1)控制器Stourweb_Controller

           該控制器對部分網絡參數和配置進行了預處理,并集成了思途的模板功能,任何各定義的控制器都需要繼承自該類。

    (2) 視圖類Stourweb_View

            該類具體實現對模板的解析,一般不需要直接使用,可以通過研究該類了解思途的模板語法。


    (3)添加控制器

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


               例如:

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

                ->defaults(array(

               'action' => 'index',

               'controller' => ‘mycontroller'));


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

        (1) 模板目錄

                默認模板目錄是default, 即/application/views/default/,  自定義模板目錄與default同級,名稱可以隨意,內部結構和default里的結構完全一致,系統會優先調用自定義模板里的模板,如果該模板不存在,則調用默認模板里的同名文件。


        (2) 變量賦值assign

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


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

        (3) 使用模板 display

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


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


        (4) 參數params     

               $this->params[$key]:  獲取url標準參數。url參數可以使用GET的形式傳輸,但一般建議使用斜線分割的方式進行傳輸,也就是/key/value的形式。

                

                例子:對于地址 www.lvyou.com/phone/line/show/id/5/attrid/6,  其中phone是手機版目錄,line是控制器,show是action, 參數有id和attrid, 值分別為5,6 , 這時不能通過超全局變量$_GET來獲取他們的值,而是用$this->params[‘id’]和$this->params[‘attrid’]來獲取


        

     4. 模板語法(視圖篇)     

         (1) 注釋自動替換:

                在模板上的html注釋,模板引擎會自動替換為空.

                例如: <!—這是注釋--->在模板解析的時候會自動替換為空

         (2) 變量和數組

                  變量可以直接調用


                  例如:

                   {$price} 普通變量

                   {TYPEID} 常量

                   {$info[‘line’][‘name’]}  數組

         (3) 引用模板

               可以采用template ,include或request語法進行引用其它模板, 其中template和include直接引用的模板,而request引用的是控制器, 所有當前的控制器的變量在request中并不能使用  

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

         (4) php單行表達式解析

                  主要用于解析單行的php

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


        (5) 多行php語法解析

                 采用{php}語法體{/php}實現多行php語法解析.

           例如: {php}

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

               {

                        echo $i;

                       }

              {/php}

        (6) if else else if 判斷語法

           用于邏輯判斷  

       例如:

              {if $islogin>0}

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

              {elseif $islogin ==0}

                <li>請登陸</li>

            {else}

           <li>請登陸</li>

            {/if}

        (7) 循環標簽loop,

              用于循環數組, 功能類似foreach, 內置變量$n表示當前索引,從1開始。第一個參數是要循環的數組,第二個參數是key或value(假如沒有第三個參數,那就是value), 第三個參數是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) 函數解析

            可以直接調用全局函數:

            {func($param1,$param2)}

       (9) 靜態函數解析:

            

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


       (10) CSS、JS調用

              

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

                 $files是css文件名或路徑,多個文件,需要使用逗號分割。

                 $minjs表示是否將多個css文件混合

                 $default表示是否調用默認的css文件,如果為false, 表示直接調用$files的絕對路徑,此時$files里的文件必須是路徑形式,即相對于根目錄的絕對路徑。

                 當$default為true時,該函數會優先調用客戶自定義模板目錄的css, 再調用標準的css。

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


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


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

          

       (11) 標簽解析:

            標簽的主要作用是可以直接調用數據庫數據或其他數據,而不需要在控制器里先assign后才使用。所有標簽都定義在/taglib目錄里,思途已經預定義了20多個常用的標簽,可以直接使用。

        ?標簽就是一個只包含靜態函數的類,名稱為Taglib_Xxx, 里面的函數就是讀取數據,并默認將返回的數據賦予$data變量,這樣就可以在該標簽里直接像使用其他常規變量一樣使用這個$data變量,如果希望返回的變量名稱不是$data, 則使用return參數來指定。

           標簽的模板函數為public static func($params)的形式,即只帶一個參數,$params里包含了除action和return的所有參數,我們根據這些參數來讀取數據。 函數內部沒有特殊的規則要求,但一定要返回數據。標簽里也可以定義其他函數供內部使用。

    ?

           例如:

    {st:標簽名 action=”方法名” row=”參數1” limit=”參數2” return=”data” }

       {loop $data $v}

          {$v}

       {/loop}

    {/st}


    相關閱讀
    說明

    贊   0

    有一點幫助   0

    沒有幫助  

    參與評論

    他們說...

    積分獲取更多
    思途CMS系統更新動態
    • 2025-06-30
      1、【功能優化】推廣掛件路由引入規則優化
      2、【BUG修復】特產、門票、露營訂單短信套餐名稱為空
      3、【功能優化】積分規則優化
      4、【BUG修復】修復掃碼登陸后跳轉問題
      5、【功能優化】二次確認訂單后臺沒有可退款操作按鈕
      6、【新增功能】后臺首頁運營助手新增認證審核
      7、【BUG修復】特產申請退款,供應商端無法查看
      8、【BUG修復】設置廣告時可看到未安裝的應用
    查看更多

    掃一掃官方微信號

    加入微信
    在線客服
    微信咨詢
    微信咨詢
    現在咨詢,獲取演示賬號
    企業logo小米
    立即掃碼加我微信
    電話咨詢
    咨詢電話
    028-61558715
    預約演示
    主站蜘蛛池模板: 5g年龄确认大驾光临未满| 久久天堂AV综合色无码专区| 男人把大ji巴放进男人免费视频| 国产在线不卡免费播放| 88av在线播放| 在线综合亚洲欧美网站天堂| 一级毛片免费在线观看网站| 日本中文字幕电影| 久久综合九色综合97手机观看| 欧美日韩一区二区三区色综合| 伊人中文字幕在线观看| 精品国产高清久久久久久小说| 国产丝袜第一页| 黄网在线免费看| 国产真实女人一级毛片| 7777精品久久久大香线蕉| 夜色私人影院永久入口| maomiav923| 幼香视频在线观看免费| 久久18禁高潮出水呻吟娇喘| 日韩欧美一及在线播放| 亚洲av无码不卡在线播放| 欧美午夜理伦三级在线观看| 亚洲欧美日韩精品久久亚洲区| 狠狠色婷婷久久一区二区| 免费无遮挡无码永久视频| 精品国产杨幂在线观看| 啊轻点灬大巴太粗太长视频 | 色屁屁www欧美激情在线观看| 国产精品视频久久久久久| 99ri在线精品视频| 夜夜嘿视频免费看| ass日本熟妇大全pic| 天天色天天操天天射| juliaann大战七个黑人| 好男人看的视频2018免费| 一区二区视频在线免费观看| 开心久久婷婷综合中文字幕| 一级特黄录像免费播放中文版| 手机在线观看av片| 中文字幕无码人妻aaa片|