![TWIG模板設(shè)計(jì)快速入門手冊中文_第1頁](http://file4.renrendoc.com/view/e1888aa502dea55d99985a0ab125ccf1/e1888aa502dea55d99985a0ab125ccf11.gif)
![TWIG模板設(shè)計(jì)快速入門手冊中文_第2頁](http://file4.renrendoc.com/view/e1888aa502dea55d99985a0ab125ccf1/e1888aa502dea55d99985a0ab125ccf12.gif)
![TWIG模板設(shè)計(jì)快速入門手冊中文_第3頁](http://file4.renrendoc.com/view/e1888aa502dea55d99985a0ab125ccf1/e1888aa502dea55d99985a0ab125ccf13.gif)
![TWIG模板設(shè)計(jì)快速入門手冊中文_第4頁](http://file4.renrendoc.com/view/e1888aa502dea55d99985a0ab125ccf1/e1888aa502dea55d99985a0ab125ccf14.gif)
![TWIG模板設(shè)計(jì)快速入門手冊中文_第5頁](http://file4.renrendoc.com/view/e1888aa502dea55d99985a0ab125ccf1/e1888aa502dea55d99985a0ab125ccf15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 HYPERLINK /jiaochangyun/article/details/7180758 TWIG 模板設(shè)計(jì) 快速入門手冊 中文 分類: HYPERLINK /jiaochangyun/article/category/956880 php 2012-01-09 09:55 3872人閱讀 HYPERLINK /jiaochangyun/article/details/7180758 l comments 評論(2) HYPERLINK javascript:void(0); o 收藏 收藏 HYPERLINK /jiaochangyun/article/details/7180758
2、 l report o 舉報(bào) 舉報(bào) HYPERLINK /tag/input t _blank input HYPERLINK /tag/include t _blank include HYPERLINK /tag/whitespace t _blank whitespace HYPERLINK /tag/stylesheet t _blank stylesheet HYPERLINK /tag/html t _blank html HYPERLINK /tag/output t _blank output目錄 HYPERLINK /jiaochangyun/article/details/
3、7180758 o 系統(tǒng)根據(jù)文章中H1到H6標(biāo)簽自動生成文章目錄 (?) HYPERLINK /jiaochangyun/article/details/7180758 o 展開 +寫了好幾篇關(guān)于twig的東西。居然還沒寫個(gè)快速入門之類的。現(xiàn)在就寫來源 HYPERLINK /doc/templates.html /doc/templates.html概要twig 的模板就是普通的文本文件,也不需要特別的擴(kuò)展名,.html .htm .twig 都可以。模板內(nèi)的 變量 和 表達(dá)式 會在運(yùn)行的時(shí)候被
4、解析替換,標(biāo)簽(tags)會來控制模板的邏輯下面是個(gè)最小型的模板,用來說明一些基礎(chǔ)的東西html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?MyWe
5、bpage%foriteminnavigation%item.caption%endfor%MyWebpagea_variable里面包含兩種符號 % . % 和 . 第一種用來控制的比如for循環(huán)什么的,第二個(gè)是用來輸出變量和表達(dá)式的ide 支持很多ide 都對twig進(jìn)行高亮支持。大伙自己找需要的吧。Textmatevia the HYPERLINK https:/githu/Anomareh/PHP-Twig.tmbundle Twig bundleVimvia the HYPERLINK /2/documentation/integration
6、 Jinja syntax pluginNetbeansvia the HYPERLINK http:/plugibe/plugin/37069/php-twig Twig syntax pluginPhpStorm(native as of 2.1)Eclipsevia the HYPERLINK https:/githu/pulse00/Twig-Eclipse-Plugin Twig pluginSublime Textvia the HYPERLINK https:/githu/Anomareh/PHP-Twig.tmbundle Twig bundleGtkSourceViewvia
7、 the HYPERLINK https:/githu/gabrielcorpse/gedit-twig-template-language Twig language definition(used by gedit and other projects)CodaandSubEthaEditvia the HYPERLINK https:/githu/bobthecow/Twig-HTML.mode Twig syntax mode變量程序會傳遞給模板若干變量,你需要在模板里輸出他們。例如輸出 $hellohtml HYPERLINK /jiaochangyun/article/detail
8、s/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?hello如果傳遞給模板的是對象或者數(shù)組,你可以使用點(diǎn) . 來輸出對象的屬性或者方法,或者數(shù)組的成員。或者你可以使用下標(biāo)的方式。html HYPERLINK /jiaochangyu
9、n/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?foo.barfoobar如果你訪問的值不存在就會返回null。TWIG有一整套的流程來確認(rèn)值是否存在。for.bar會進(jìn)行以下操作。如果 foo是個(gè)
10、數(shù)組,就嘗試返回bar成員,如果不存在的話,往下繼續(xù)。如果foo是個(gè)對象,會嘗試返回bar屬性,如果不存在的話,往下繼續(xù)。會嘗試運(yùn)行bar方法,如果不存在的話,往下繼續(xù)。會嘗試運(yùn)行g(shù)etBar方法,如果不存在的話,往下繼續(xù)。會嘗試運(yùn)行isBar方法,如果不存在的話,返回nullforbar 就簡單很多了 for必須是個(gè)數(shù)組,嘗試返回bar成員,如果不就返回null全局變量TWIG定義了有一些全局變量_self 這個(gè)參看macro標(biāo)簽_context這個(gè)就是當(dāng)前的環(huán)境_charset: 當(dāng)前的字符編碼變量賦值具體參見set標(biāo)簽html HYPERLINK /jiaochangyun/articl
11、e/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%setfoo=foo%setfoo=1,2%setfoo=foo:bar%過濾器 Firters變量可以被過濾器修飾。過濾器和變量用(|)分割開。過濾器也是可以有參
12、數(shù)的。過濾器也可以被多重使用。下面這例子就使用了兩個(gè)過濾器。html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?name|striptags|tit
13、lestriptas表示去除html標(biāo)簽,title表示每個(gè)單詞的首字母大寫。更多過濾器參見我博客過濾器也可以用在代碼塊中,參見 filter標(biāo)簽html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/arti
14、cle/details/7180758 o ? ?%filterupper%Thistextbecomesuppercase%endfilter%函數(shù) Function這個(gè)沒什么好說的,會寫程序的都知道,TWIG內(nèi)置了一些函數(shù),參考我的博客舉個(gè)例子 返回一個(gè)0到3的數(shù)組,就使用 range函數(shù)html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaoc
15、hangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%foriinrange(0,3)%i,%endfor%流程控制支持for循環(huán) 和 if/elseif/else結(jié)構(gòu)。直接看例子吧,沒什么好說的。html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o c
16、opy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?Members%foruserinusers%user.username|e%endfor%html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o cop
17、y copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%ifusers|length0%foruserinusers%user.username|e%endfor%endif%注釋# . # 包圍的內(nèi)容會被注釋掉,可以是單行 也可以是多行。載入其他模板詳見include標(biāo)簽(我博客內(nèi)已經(jīng)翻譯好哦),會返回經(jīng)過渲染的內(nèi)容到當(dāng)前的模板里html HYPERLINK /jiaochangyun/article/d
18、etails/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%includesidebar.html%當(dāng)前模板的變量也會傳遞到 被include的模板里,在那里面可以直接訪問你這個(gè)模板的變量。比如html HYPERLINK /ji
19、aochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%forboxinboxes%includerender_box.html%endfor%在 render_box.html 是可以
20、訪問 box變量的加入其他參數(shù)可以使被載入的模板只訪問部分變量,或者完全訪問不到。參考手冊模板繼承TWIG中最有用到功能就是模板繼承,他允許你建立一個(gè)“骨骼模板”,然后你用不同到block來覆蓋父模板中任意到部分。而且使用起來非常到簡單。我們先定義一個(gè)基本骨骼頁base.html 他包含許多block塊,這些都可以被子模板覆蓋。html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy cop
21、y HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%blockhead%blocktitle%endblock%-MyWebpage%endblock%blockcontent%endblock%blockfooter%Copyright2011byyou.%endblock%我們定義了4個(gè)block塊,分別是 block head, block title, block content, block foote
22、r注意1、block是可以嵌套的。2、block可以設(shè)置默認(rèn)值(中間包圍的內(nèi)容),如果子模板里沒有覆蓋,那就直接顯示默認(rèn)值。比如block footer ,大部分頁面你不需要修改(省力),但你需要到時(shí)候仍可以方便到修改(靈活)下面我看下 子模板應(yīng)該怎么定義。html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/de
23、tails/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%extendsbase.html%blocktitle%Index%endblock%blockhead%parent().importantcolor:#336699;%endblock%blockcontent%IndexWelcomeonmyawesomehomepage.%endblock%注意 % extends base.html % 必須是第一個(gè)標(biāo)簽。其中 block footer就沒有定義,所以顯示父模板中設(shè)置的默認(rèn)
24、值如果你需要增加一個(gè)block的內(nèi)容,而不是全覆蓋,你可以使用 parent函數(shù)html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%blocksi
25、debar%TableOfContents.parent()%endblock%extends標(biāo)簽只能有一個(gè),所以你只能有一個(gè)父模板,但有種變通到方法來達(dá)到重用多個(gè)模板到目的,具體參見手冊的use標(biāo)簽HTML轉(zhuǎn)義主要是幫助轉(zhuǎn)義 尖括號等 , &, 可以有兩種辦法。一種是用標(biāo)簽,另一種是使用過濾器。其實(shí)TWIG內(nèi)部就是調(diào)用 php 的htmlspecialchars 函數(shù)html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/detai
26、ls/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?user.username|euser.username|e(js)%autoescapetrue%Everythingwillbeautomaticallyescapedinthisblock%endautoescape%因?yàn)槭荰WIG的操作符,如果你需要輸出兩個(gè)花括號,最簡單到辦法就是html HYPERLINK /j
27、iaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?還可以使用 raw 標(biāo)簽和raw 過濾器,詳細(xì)參考手冊html HYPERLINK /jiaochangyun/article/d
28、etails/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%raw%foriteminseq%item%endfor%endraw%macros宏宏有點(diǎn)類似于函數(shù),常用于輸出一些html標(biāo)簽。這里有個(gè)簡單示例,定義了一個(gè)輸出inp
29、ut標(biāo)簽的宏。html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%macroinput(name,value,type,size)%endmacr
30、o%宏參數(shù)是沒有默認(rèn)值的,但你可以通過default過濾器來實(shí)現(xiàn)。一般來說宏會定義在其他到頁面,然后通過import標(biāo)簽來導(dǎo)入,html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/detai
31、ls/7180758 o ? ?%importforms.htmlasforms%forms.input(username)你也可以只導(dǎo)入一個(gè)文件中部分宏,你還可以再重命名。html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jia
32、ochangyun/article/details/7180758 o ? ?%fromforms.htmlimportinputasinput_field,textarea%Usernameinput_field(username)Passwordinput_field(password,type=password)textarea(comment)上面的代碼表示 從forms.html中導(dǎo)入了 input 和 textarea宏,并給input重命名為input_field。表達(dá)式TWIG允許你在任何地方使用表達(dá)式,他的規(guī)則和PHP幾乎一模一樣,就算你不會PHP 仍然會覺得很簡單。最簡單的
33、有字符串:“hello world” 或者 hello world 數(shù)字:42 或者 42.33數(shù)組:a,b,c哈希:a:av, b:bv 其中keys 可以不要引號 也可以是數(shù)字 還可以是一個(gè)表達(dá)式,比如a:av, b:bv 1:1v, 2:2v 1+2:12v邏輯: true 或者 false最后還有null你可以嵌套定義html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy
34、 HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%setfoo=1,foo:bar%運(yùn)算符包括數(shù)字運(yùn)算+ - * / %(求余數(shù)) /(整除) *(乘方)html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy
35、 copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?2*3=62*3=8邏輯運(yùn)算 and or not比較運(yùn)算 = = = !=包含運(yùn)算 in 以下的代碼會返回 truehtml HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/718
36、0758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?1in1,2,3cdinabcde測試運(yùn)算 is 這個(gè)不用多說 直接看代碼html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy
37、 copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?nameisodd%ifloop.indexisdivisibleby(3)%ifloop.indexisnotdivisibleby(3)%#isequivalentto#%ifnot(loop.indexisdivisibleby(3)%其他操作符. 建立一個(gè)指定開始到結(jié)束的數(shù)組,他是range函數(shù)的縮寫,具體參看手冊html HYPERLINK /j
38、iaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?%foriin0.3%i,%endfor%| 使用一個(gè)過濾器html HYPERLINK /jiaochangyun/articl
39、e/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?#outputwillbeHELLO#hello|upper 強(qiáng)制字符串連接html HYPERLINK /jiaochangyun/article/details/
40、7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?Helloname!?: 三元操作符html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plai
41、n HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?foo?yes:no. 得到一個(gè)對象的屬性,比如以下是相等的。html HYPERLINK /jiaochangyun/article/details/7180758 o view plain view plain HYPERLINK /jiaochangyun/article/details/7180758 o copy copy HYPERLINK /jiaochangyun/article/details/7180758 o print print HYPERLINK /jiaochangyun/article/details/7180758 o ? ?foo.barfoobar你還可以在一個(gè)字符串內(nèi)部插入一個(gè)表達(dá)式,通常這個(gè)表達(dá)式是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境設(shè)計(jì)的藝術(shù)性與審美培養(yǎng)探討
- 生產(chǎn)線作業(yè)計(jì)劃與實(shí)時(shí)調(diào)度分析
- 班級紀(jì)律執(zhí)行與校園文化建設(shè)的互動關(guān)系
- 生態(tài)城市規(guī)劃中的綠色交通系統(tǒng)建設(shè)
- 現(xiàn)代辦公中的網(wǎng)絡(luò)教育平臺應(yīng)用
- Unit 6 My family(說課稿)-2024-2025學(xué)年滬教版(五四制)(2024)英語一年級上冊
- 2024年二年級品生下冊《大自然的奧秘》說課稿 冀教版001
- 2024-2025學(xué)年高中歷史 專題一 古代中國經(jīng)濟(jì)的基本結(jié)構(gòu)與特點(diǎn) 1.3 古代中國的商業(yè)經(jīng)濟(jì)說課稿 人民版必修2
- 10的認(rèn)識和加減法(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版(2024)001
- 14《圓明園的毀滅》第二課時(shí)(說課稿)2024-2025學(xué)年語文五年級上冊統(tǒng)編版
- 中國人口研究專題報(bào)告-中國2025-2100年人口預(yù)測與政策建議-西南財(cái)經(jīng)大學(xué)x清華大學(xué)-202501
- 2025年度廚師職業(yè)培訓(xùn)學(xué)院合作辦學(xué)合同4篇
- 《組織行為學(xué)》第1章-組織行為學(xué)概述
- 25版六年級寒假特色作業(yè)
- 浙江省杭州市9+1高中聯(lián)盟2025屆高三一診考試英語試卷含解析
- 市場營銷試題(含參考答案)
- 2024年山東省泰安市高考物理一模試卷(含詳細(xì)答案解析)
- 護(hù)理指南手術(shù)器械臺擺放
- GB/T 19228.1-2024不銹鋼卡壓式管件組件第1部分:卡壓式管件
- 2024年計(jì)算機(jī)二級WPS考試題庫380題(含答案)
- (高清版)DZT 0399-2022 礦山資源儲量管理規(guī)范
評論
0/150
提交評論