<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    常言笑的家

    Spring, Hibernate, Struts, Ajax, RoR

    JIEQI CMS模板制作必讀(JIEQI CMS模板 - 2.賦值變量形式)

    11.JIEQI CMS模板 - 2.賦值變量形式
    二、賦值變量形式

        1、任何變量必須是 $ 符號(hào)開頭的一個(gè)只能包含英文數(shù)字和下劃線的字符串,如 {?$my_var?}。
       
        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('var', 'test string');

        模板:
        {?$var?}

        輸出:
        test string
    ---------------------------------------------------------------------

        2、變量如果是數(shù)組的話,模板里面可以這樣表示,如 {?$ary['key']?}、{?$ary['0']['1']?}。方括號(hào)里面變量要加上單引號(hào)。另外還支持一種表示方法,上面的兩個(gè)變量可寫成 {?$ary.key?}、{?$ary.0.1?}。一般建議使用前一種,比較符合編程規(guī)范。
       
        例子:
    ---------------------------------------------------------------------
        程序:
        $ary = array('a'=>'str_a', 'b'=>'str_b', 'c'=>array('0'=>'c_0', '1'=>'c_1'));
        $jieqiTpl->assign('ary', $ary);

        模板:
        {?$ary['a']?} | {?$ary.b?} | {?$ary['c']['1']

        輸出:
        str_a | str_b | c_1
    ---------------------------------------------------------------------
            
        3、如果變量是數(shù)組時(shí)候,里面的鍵值也是變量,則可以寫成 {?$ary[$key]?}

        例子:
    ---------------------------------------------------------------------
        程序:
        $key = 'b';
        $ary = array('a'=>'str_a', 'b'=>'str_b');
        $jieqiTpl->assign('key', $key);
        $jieqiTpl->assign('ary', $ary);

        模板:
        {?$ary[$key]?}

        輸出:
        str_b

    12.JIEQI CMS模板 - 3.變量調(diào)節(jié)器
    三、變量調(diào)節(jié)器

        模板變量支持多種調(diào)節(jié)函數(shù)來改變輸出效果,模板標(biāo)簽格式為 {?$var|function:var1:var2?}
        變量名之后用 |分隔,然后是函數(shù)名字,再后面是函數(shù)的參數(shù),每個(gè)參數(shù)用 : 分隔,參數(shù)是字符串時(shí)候建議用雙引號(hào)來包括。
        常用變量調(diào)節(jié)器如下:
       
        1、truncate - 截取固定長(zhǎng)度字符串,參數(shù)一(必要):截取后長(zhǎng)度,參數(shù)二:附加字符串。
        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('var', '123456789');

        模板:
        {?$var|truncate:5?} | {?$var|truncate:5:".."?}

        輸出:
        12345 | 123..
    ---------------------------------------------------------------------

        2、subdirectory - JIEQI CMS 里面專用于生成子目錄名字的函數(shù),針對(duì)數(shù)字的處理,無參數(shù)。輸出格式類似 "/12",其中"/" 是表示開始一個(gè)子目錄,"12"是子目錄名字。
        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('id', 3456);

        模板:
        /files/article/html{?$id|subdirectory?}/{$id?}/index.html

        輸出:
        /files/article/html/3/3456/index.html
       
    ---------------------------------------------------------------------

        3、date - 把數(shù)字類型的時(shí)間格式化成字符串,參數(shù)一:格式化字符串
        格式化字符含義主要有以下幾個(gè):
        Y - 四位的年份,如 2007
        y - 二位年份,如 07
        m - 二位月份,不足補(bǔ)零,從 01 到 12
        n - 月份,不補(bǔ)零,從 1 到 12
        d - 二位的天數(shù),不足補(bǔ)零,從 01 到 31
        j - 天數(shù), 不補(bǔ)零, 從 1 到 31
        H - 二位24小時(shí)格式,從 00 到 24
        h - 二位12小時(shí)格式,從 00 到 12
        G - 24小時(shí)格式,從 0 到 24
        g - 12 小時(shí)格式,從 0 到 12
        i - 二位分?jǐn)?shù),從 00 到 59
        s - 二位秒數(shù),從 00 到 59

        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('time', 1198226131);

        模板:
        {?$time|date:"Y-m-d H:i:s"?}

        輸出:
        2007-12-21 16:35:31
    ---------------------------------------------------------------------

        4、str_replace - 字符串替換,參數(shù)一:查找的字符串,參數(shù)二:替換為字符串
        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('var', 'http://www.jieqi.com');

        模板:
        {?$var|str_replace:"www":"demo"?}

        輸出:
        http://demo.jieqi.com
    ---------------------------------------------------------------------

        5、urlencod,urldecode - 分別是把字符串進(jìn)行url編碼和解碼,于在url傳遞變量情況,無參數(shù)
        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('var', 'http://www.jieqi.com');

        模板:
        {?$var|urlencode?}

        輸出:
        http%3A%2F%2Fwww.jieqi.com
    ---------------------------------------------------------------------

        6、strlen - 計(jì)算字符串長(zhǎng)度,無參數(shù)
        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('var', 'abcd');

        模板:
        {?$var|strlen?}

        輸出:
        4
    ---------------------------------------------------------------------

        7、default - 變量為空的時(shí)候默認(rèn)輸出的值,參數(shù)一:默認(rèn)值
        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('var', 'abcd');
        $jieqiTpl->assign('var1', '');


        模板:
        {?$var|default:"empty"?} | {?$var1|default:"empty"?}

        輸出:
        abcd | empty
    ---------------------------------------------------------------------
       
        8、sprintf - 格式化輸出,參數(shù)一:格式化規(guī)則
        本函數(shù)參數(shù)是一個(gè)字符串,里面可以是任意要輸出的字符串,用 % + 類型標(biāo)志 來表示當(dāng)前變量格式
        常用格式為
        %d - 表示數(shù)字類型
        %06d - 表示顯示6位長(zhǎng)度的數(shù)字類型,位數(shù)補(bǔ)足前面補(bǔ)0
        %s - 表示字符串類型

        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('var', 123);


        模板:
        {?$var|sprintf:"%06d"?} | {?$var1|sprintf:"The number is %s"?}

        輸出:
        000123 | The number is 123

    13.JIEQI CMS模板 - 4.判斷語(yǔ)句
    四、判斷語(yǔ)句

        模板里面的斷語(yǔ)句主要由 {?if ...?},{?else?}, {?elseif ...?} 和 {?/if?} 這幾個(gè)標(biāo)記配合比較語(yǔ)句組成。
        一個(gè)完整判斷語(yǔ)句由 {?if ...?} 開頭 {?/if?} 結(jié)束,比較符號(hào)包括 ==(等于),!=(不等于),>(大于),<(小于),<=(小于等于),>=(大于等于)。
        判斷語(yǔ)句里面支持簡(jiǎn)單的四則運(yùn)算,包括 +(加),-(減), *(乘), /(除), %(取余)。

        例子:
    ---------------------------------------------------------------------
        程序:
        $jieqiTpl->assign('var', 50);

        模板:
        {?if $var > 40?}big{?else?}small{?/if?}
        {?if $var % 5 == 0?}yes{?else?}no{?/if?}

        輸出:
        big
        yes

    15.JIEQI CMS模板 - 5.循環(huán)語(yǔ)句
    五、循環(huán)語(yǔ)句

        循環(huán)語(yǔ)句由 {?section name=i loop=$var columns=1?} 開頭,{?/section?} 結(jié)束。
        name=i 的 i 是循環(huán)時(shí)候的中間變量名(名稱可以自由設(shè)置,不能和其他變量同名)。
        loop=$var 的 $var 是實(shí)際內(nèi)容數(shù)組。
        columns=1 的 1 是指循環(huán)的時(shí)候分成幾列,可以不寫這部分,默認(rèn)為一列。這個(gè)參數(shù)主要用于生成多行多列的表格,當(dāng)這個(gè)參數(shù)大于1的時(shí)候,程序會(huì)自動(dòng)把循環(huán)次數(shù)補(bǔ)足成列的倍數(shù)。比如內(nèi)容數(shù)組一共有6個(gè)值,默認(rèn)循環(huán)六次,如果要生成四列的表格,那么循環(huán)就會(huì)變成8次,這樣正好生成4列2行的表格。
       
        在實(shí)際使用中,name 后面的變量也會(huì)被轉(zhuǎn)換成一個(gè)數(shù)組,在每次循環(huán)里面會(huì)相應(yīng)賦值。如前面的寫法,模板里面變量標(biāo)簽是 $i 的一個(gè)數(shù)組,包含以下內(nèi)容

        固定參數(shù)部分:
        $i['columns'] - 當(dāng)前循環(huán)是幾列的模式。
        $i['count']   - 內(nèi)容數(shù)組的單元個(gè)數(shù)
        $i['addrows'] - 多列的時(shí)候,附加的循環(huán)次數(shù)
        $i['loops']   - 總的循環(huán)次數(shù)

        循環(huán)變量部分:
        $i['key']     - 當(dāng)前數(shù)組單元的鍵值。
        $i['value']   - 當(dāng)前數(shù)組單元內(nèi)容
        $i['index']   - 循環(huán)的內(nèi)部序號(hào),從0開始,逐個(gè)遞增
        $i['order']   - 循環(huán)的排序,從1開始,逐個(gè)遞增
        $i['row']     - 當(dāng)前是第幾行,從1開始
        $i['column']  - 當(dāng)前是第幾列,從1開始
        $i['append']  - 當(dāng)前循環(huán)是不是附加循環(huán),0 表示否,1 表示是

        例子1:?jiǎn)瘟醒h(huán)
    ---------------------------------------------------------------------
        程序:
        $var=array('a', 'b', 'c', 'd', 'e');
        $jieqiTpl->assign('var', $var);

        模板:
        {?section name=i loop=$var?}
        ($var[$i['key']])
        {?/section?}

        輸出:
        (a)(b)(c)(d)(e)

        備注:上面 $var[$i['key']],$i['value'] 這兩種方式表達(dá)的值是一樣的,另外兼容老版的表達(dá)方式 $var[i]
    ---------------------------------------------------------------------

    例子2:多列循環(huán)
    ---------------------------------------------------------------------
        程序:
        $var=array('a', 'b', 'c', 'd', 'e');
        $jieqiTpl->assign('var', $var);

        模板:
        <table width="100%" border="1">
        {?section name=i loop=$var columns=3?}
        {?if $i['column'] == 1?}<tr>{?/if?}
        <td>{?$i['order']?}.{?if $i['append'] == 0?}{?$var[$i['key']]?}{?else?}&nbsp;{?/if?}</td>
        {?if $i['column'] == $i['columns']?}</tr>{?/if?}
        {?/section?}
        </table>

        輸出:
        <table width="100%" border="1">
        <tr>
        <td>1.a</td>
        <td>2.b</td>
        <td>3.c</td>
        </tr>
        <tr>
        <td>4.d</td>
        <td>5.e</td>
        <td>6.&nbsp;</td>
        </tr>
        </table>

        備注:
        {?section name=i loop=$var columns=3?} 開始循環(huán),按照3列的模式生成
        {?if $i['column'] == 1?}<tr>{?/if?} 每行開始第一列時(shí)候,前面加上 <tr> 標(biāo)記
        {?if $i['column'] == $i['columns']?}</tr>{?/if?} 每行到最后一列時(shí)候,后面加上 </tr> 標(biāo)記
        {?$i['order']?} 數(shù)字序號(hào),從1開始遞增
        {?if $i['append'] == 0?}{?$var[$i['key']]?}{?else?}&nbsp;{?/if?} 如果不是附加字段,則直接輸出內(nèi)容,否則輸出 &nbsp;

    16.JIEQI CMS模板 - 6.頁(yè)面顯示相關(guān)配置
    六、頁(yè)面顯示相關(guān)配置

        JIEQI CMS 里面一個(gè)頁(yè)面通常可以有三部分組成,頁(yè)面框架、主體內(nèi)容和一定數(shù)量的區(qū)塊。

        1、頁(yè)面框架用于確定整體頁(yè)面格局,主要包含了頁(yè)面頂部?jī)?nèi)容(如:logo、banner、導(dǎo)航鏈接)、頁(yè)面底部?jī)?nèi)容(如:網(wǎng)站聲明)、以及中間內(nèi)容部分的結(jié)構(gòu)(如:分成左中右三列)。系統(tǒng)默認(rèn)所有的動(dòng)態(tài)程序頁(yè)面輸出都使用同一個(gè)框架模板,這樣的好處是整站風(fēng)格統(tǒng)一,并且比較容易修改。
        默認(rèn)的框架模板在網(wǎng)站的 /themes 目錄下,每個(gè)子目錄表示一種網(wǎng)站風(fēng)格,系統(tǒng)使用那種風(fēng)格,在后臺(tái)系統(tǒng)定義里面把風(fēng)格名稱設(shè)置成子目錄名即可(如:jieqidiv)。
        一套標(biāo)準(zhǔn)的風(fēng)格模板主要包含以下幾個(gè)文件:
        theme.html    - 頁(yè)面框架模板,適用整個(gè)系統(tǒng),修改網(wǎng)站風(fēng)格也主要是修改本文件。
        style.css     - 通用的css,在theme.html里面調(diào)用的,也是整站通用。
        jumppage.html - 程序跳轉(zhuǎn)頁(yè)面模板,比如用戶登錄時(shí)候,那個(gè)跳轉(zhuǎn)過渡的小窗口。
        msgbox.html   - 內(nèi)容提示方塊模板,通常這個(gè)提示信息是指插入到其他頁(yè)面的。
        msgwin.html   - 內(nèi)容提示頁(yè)面模板,跟msgbox.html不同,這是一個(gè)完整的提示頁(yè)面。
        msgerr.html   - 錯(cuò)誤信息提示模板,也是一個(gè)完整的提示頁(yè)面。

        2、主體內(nèi)容部分是指本頁(yè)面主要顯示的數(shù)據(jù),通常用一個(gè)單獨(dú)的模板。如用戶登錄后,打開個(gè)人資料頁(yè)面,個(gè)人資料的表格就是主體內(nèi)容部分,頭尾都套用頁(yè)面框架,而左側(cè)的“用戶設(shè)置”、“短消息”、“工具箱”則是本頁(yè)調(diào)用的區(qū)塊。
        主體內(nèi)容模板,系統(tǒng)功能部分模板就在網(wǎng)站的 /templates 目錄下,而其他模塊的模板在 /modules/模塊名/templates 目錄,如小說連載模塊是 /modules/article/templates, 論壇模塊是 、/templates/forum/templates。
        內(nèi)容模板的命名規(guī)則基本和對(duì)應(yīng)的程序相關(guān)聯(lián),后綴名是 .html
        如:
        /userdetail.php  對(duì)應(yīng)模板 /templates/userdetail.html
        /modules/article/articleinfo.php 對(duì)應(yīng)模板 /modules/article/templates/articleinfo.html

        3、區(qū)塊是一些內(nèi)容小方塊,如果用戶登錄區(qū)塊,排行榜區(qū)塊。所有區(qū)塊都允許在網(wǎng)站任何頁(yè)面調(diào)用。在一個(gè)頁(yè)面調(diào)用區(qū)塊主要有三種模式:
           3.1 標(biāo)準(zhǔn)的框架 + 區(qū)塊配置文件:這種是默認(rèn)的顯示模式,框架部分使用系統(tǒng)默認(rèn)的,而一個(gè)頁(yè)面顯示幾個(gè)區(qū)塊和區(qū)塊放在什么位置皆在區(qū)塊配置文件之中。調(diào)整區(qū)塊位置和區(qū)塊數(shù)量只需要調(diào)整這個(gè)配置文件。
           3.2 定制的頁(yè)面模板 + 區(qū)塊配置文件:這種模式調(diào)用哪幾個(gè)區(qū)塊仍舊在區(qū)塊配置文件中,而區(qū)塊顯示位置由模板里面直接控制,通常定制頁(yè)面就用這種方法。
           3.3 直接在模板中設(shè)置區(qū)塊及參數(shù),不使用區(qū)塊配置文件:這種就相當(dāng)于把模板和區(qū)塊配置合并一起了,任何調(diào)整都修改這個(gè)模板。

    17.JIEQI CMS模板 - 7.頁(yè)面定制(一)
    七、頁(yè)面定制
        1、定制一個(gè)頁(yè)面,不使用系統(tǒng)框架,通常用于設(shè)計(jì)一個(gè)獨(dú)立的頁(yè)面,不使用系統(tǒng)默認(rèn)的導(dǎo)航,但是可能需要系統(tǒng)變量或者調(diào)用系統(tǒng)區(qū)塊。

        主要程序部分如下:
        <?php
    define('JIEQI_MODULE_NAME', 'system');  //定義本頁(yè)面屬于那個(gè)模塊

    require_once('global.php'); //包含通用程序,每個(gè)頁(yè)面必須高喊

    jieqi_getconfigs(JIEQI_MODULE_NAME, 'blocks'); //包含區(qū)塊參數(shù),如果需要在頁(yè)面調(diào)用區(qū)塊的話
    //本函數(shù)第一個(gè)書模塊名,第二個(gè)是區(qū)塊配置文件名,配置文件皆在 /configs 目錄下,如上例對(duì)應(yīng)的文件是 /configs/blocks.php

    $jieqi_page_template=JIEQI_ROOT_PATH.'/templates/custom.html'; //設(shè)置該頁(yè)面的模板文件

            include_once(JIEQI_ROOT_PATH.'/header.php'); //包含頁(yè)頭處理
            
            $jieqiTpl->assign('jieqi_indexpage',1);  //設(shè)置首頁(yè)標(biāo)志,不是首頁(yè)請(qǐng)注釋本語(yǔ)句,便于模板里面可以判斷,給模板其他參數(shù)賦值也用這個(gè)方法

            include_once(JIEQI_ROOT_PATH.'/footer.php');  //包含頁(yè)尾處理
         ?>

    模板部分可以使用系統(tǒng)標(biāo)簽,如 {?$jieqi_url?}

         也可以在載入?yún)^(qū)塊配置的前提下,在模板適當(dāng)位置加入顯示區(qū)塊的標(biāo)簽,標(biāo)簽寫法如下:

         區(qū)塊的標(biāo)題調(diào)用方式為 {?$jieqi_pageblocks['bidXXX']['title']?} 里面的 XXX 是指實(shí)際的區(qū)塊序號(hào),可以在區(qū)塊管理里面看到,或者在區(qū)塊配置文件中對(duì)應(yīng)的 bid。
         
         區(qū)塊內(nèi)容的調(diào)用方式為 {?$jieqi_pageblocks['bidXXX']['content']?} 規(guī)范跟標(biāo)題相同。

    posted on 2009-09-06 23:50 常言笑 閱讀(1153) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    My Links

    Blog Stats

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 日韩视频在线免费观看| 国内精品免费麻豆网站91麻豆| 日韩a在线观看免费观看| 国产精品亚洲综合久久| 天天看免费高清影视| 亚洲国产精品精华液| 免费播放特黄特色毛片| 午夜在线免费视频| 永久亚洲成a人片777777| 国产一级a毛一级a看免费人娇| 亚洲熟妇中文字幕五十中出| 国产永久免费高清在线| 亚洲AV乱码久久精品蜜桃| 四虎成人精品永久免费AV| 亚洲美女中文字幕| 拨牐拨牐x8免费| 免费人人潮人人爽一区二区| 亚洲中文字幕无码一久久区| 日韩视频免费在线观看| 亚洲一区二区三区无码国产| 蜜臀91精品国产免费观看 | 中文字幕人成人乱码亚洲电影| 国产精品亚洲一区二区三区在线观看| 蜜臀91精品国产免费观看| 亚洲AV无码专区在线亚| 四虎影视精品永久免费| 久久久久久久久久久免费精品| 亚洲第一精品在线视频| 免费人成大片在线观看播放| 在线亚洲人成电影网站色www| 无码人妻精品中文字幕免费| 亚洲国产精品无码中文lv| 亚洲视频在线播放| 亚洲日韩av无码| 国产一区二区三区免费视频| 啦啦啦高清视频在线观看免费 | 毛片a级毛片免费播放100| 免费无码黄网站在线看| 老司机午夜免费视频| 亚洲AV无码专区亚洲AV桃| 亚洲久悠悠色悠在线播放|