版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、主題制作之主題的.info文件info配置文件是在Drupal6中新贈的,每個主題都必須有一個.info文件.該文件應該放在你主題的目錄下面.如果沒有該文件的話,Drupal就找不到你的主題. .info文件的后綴名必須為".info".主題在Drupal內(nèi)部的名字源自于這個文件.例如,如果文件名為",那么在Drupal內(nèi)部,主題名字就為"drop".名字里面不要包含奇怪的字符,這是由于在Drupal中,許多PHP函數(shù)都是以主題名打頭的,所以主題名和函數(shù)名存在同樣的限制。起始字符必須為alphabetic字母,不能包含空格,標
2、點等字符??梢园聞澗€,但是不能包含連字符。數(shù)字字符也是允許的,但不能出現(xiàn)在首位。注意: 警告!模塊的內(nèi)部名稱如果與主題的內(nèi)部名稱重名的話,那么你的站點將不能工作。因為可能會造成同名函數(shù)的存在,這在PHP中是非法的。每個安裝了的部件(模塊或者主題)都必須有一個唯一的名字。 .info文件中的內(nèi)容是緩存在數(shù)據(jù)庫中的,所以對它的修改不會在Drupal中立馬生效。(不要與主題注冊表的緩存相混淆了。)為了清除緩存,須這樣做:1. 導航到"Administer > Site co
3、nfiguration > Performance",點擊"clear"按鈕。2. 如果啟用了devel區(qū)塊(安裝了devel模塊的話),點擊"Empty cache"(“清空緩存”)鏈接。3. 然后導航到主題選擇頁面"Administer > Site building > Themes"。語法與INI(/wiki/INI_file)文件類似。.info文件就是一個用來配置主題的的靜態(tài)文本文
4、件。文本文件的每一個行就是一個鍵值對(key-value),其中鍵位于左邊,值位于右邊,而中間則有一個等號。(例如:key = value)。分號是用來注釋的。有些鍵使用了特殊的語法,帶有中括號,用來構(gòu)建一列關(guān)聯(lián)值,也就是我們常說的“數(shù)組”.如果你不熟悉數(shù)組的話,模仿Drupal默認.info文件中的例子,根據(jù)例子中的解釋,完全可以依葫蘆畫瓢,得到自己的數(shù)組了。Drupal可以識別下面所列的鍵。如果.info文件沒有設置的話,Drupal將為其使用默認值(/node/171206)??蓞⒖春诵闹黝}中的例子(/node/171205
5、#example#example)。 name ! (名字) description * 描述 screenshot 截圖 version * 版本 core ! 內(nèi)核 engine * 引擎 base theme&
6、#160; 基主題 regions 區(qū)域 features 特性 stylesheets 樣式表 scripts 腳本 php ph
7、p主題的.info文件介紹name (required) 名字(必須)這是用戶可讀的名字,與主題的Drupal內(nèi)部名字可以分開單獨進行設置.這在這里,字符的限制則很少.name = Un tema nombre de fantasia description (recommended) 描述(推薦)主題的簡短描述.你可以在頁面"Administer > Site building > themes"看到主題的描述.description = Tableless multi-column theme designed for bl
8、ogs. screenshot 截圖截圖鍵時可選的,它告訴Drupal主題的縮略圖在哪里,在選擇主題頁面(admin/build/themes)里用到了縮略圖.如果.info文件中忽略了該鍵,那么Drupal就會使用主題目錄下面的"screenshot.png"文件.只有當你的縮略圖不叫"screenshot.png",或者你不想把它放到你主題的根目錄(比如,screenshot = images/screenshot.png)下面時,才使用該鍵。screenshot = screenshot.png version (recomme
9、nded) 版本(推薦)當發(fā)布一個新的版本時,會自動為其添加一個版本號。當你為Drupal貢獻主題時,你可以忽略該值。如果你的主題沒有放到上的話,你可以為你的主題指定任意一個版本號。version = 1.0core (required) 內(nèi)核(必須)從Drupal 6.x開始,模塊和主題的.info文件都必須指明它們兼容的Drupal內(nèi)核主版本號。這里設的值將與DRUPAL_CORE_COMPATIBILITY常量相比較。如果不匹配的話,那么主題將被禁用。core = 6.的打包腳本,將根據(jù)每個發(fā)布版本的Drupal內(nèi)
10、核兼容性設置,自動設置該值。所以從下載下來的主題,設置總是正確的。然而,對于直接通過CVS部署的Drupal站點來說,如果你將這一修改提交到你主題的.info文件中去的話,將會很有幫助。它也能夠非常方便的幫用戶指出,主題兼容CVS的HEAD中的哪些內(nèi)核版本。 engine (recommended) 引擎(推薦)主題引擎,供主題使用。如果沒有提供引擎的話,那么主題就是獨立的,比如,實現(xiàn)一個".theme"文件。大多數(shù)主題都使用"phptemplate"作為默認引擎。PHPTemplate負責查找主題用到的主題函數(shù)和模板。只有
11、當你理解你在做什么的時候,你才可以忽略這一設置。engine = phptemplate base theme 基主題子主題可以聲明一個基主題。這允許主題的繼承,也就是說基主題中的資源將被傳遞下來并在子主題中使用。子主題可以聲明別的子主題作為其基主題,也就是允許多重繼承的存在?;黝}的名字為其在Drupal內(nèi)部的名字。下面是Garland的子主題Minnelli的相應設置。base theme = garland更多細節(jié)可參看子主題,它們的結(jié)構(gòu)和繼承(/node/225125)。regions 區(qū)域我們這樣定義主題中的區(qū)域,聲明鍵'region
12、s',緊跟著“”,接下來是內(nèi)部名字,接著是“”,然后是一個等號,右邊是用戶可讀的區(qū)域名字。例如,regionstheRegion = The region name.如果沒有定義區(qū)域的話,那么使用下面的默認值。你可以根據(jù)自己的需要覆寫這些值。 regionsleft = Left sidebarregionsright = Right sidebarregionscontent = Contentregionsheader = Headerregionsfooter = Footer更多細節(jié)可參看,“區(qū)塊,內(nèi)容和它們的區(qū)域”(/node/171
13、224)。 features 特性許多由主題控制輸出的頁面元素,可以在主題的配置頁面啟用或者禁用. "features"鍵控制著出現(xiàn)在主題配置頁面上的復選框.對于一個主題,如果你不想為其定義某個復選框時,著非常有用.為了刪去某個復選框,只需要在"features"中將其刪除即可.如果一個也沒有定義的話,那么會輸出所有默認的復選框.下面的例子列出了所有由features鍵控制的元素.通過注釋掉primary_links和secondary_links元素,那么站點管理員就不會看到這兩個復選框了.features = logofeatu
14、res = namefeatures = sloganfeatures = missionfeatures = node_user_picturefeatures = comment_user_picturefeatures = searchfeatures = favicon; These last two disabled by redefining the; above defaults with only the needed features.; features = primary_links; features = secondary_links更多信息參看”定制主題設置”(ht
15、tp://node/221905).stylesheets 樣式表傳統(tǒng)方式,主題可自動的使用默認的style.css,并且可以在它們的template.php文件中通過調(diào)用drupal_add_css()來添加其它樣式表。從Drupal6開始,主題也可以通過.info文件來添加樣式表。stylesheetsall = theStyle.css更多信息可參看“樣式表”一節(jié)(/node/171209)。scripts 腳本傳統(tǒng)方式,主題通過在template.php文件中調(diào)用drupal_add_js()來添加javascripts腳本。從Dru
16、pal6開始,主題也可以通過.info文件來添加javascripts了:scripts = script.js更多信息參看 JavaScript & jQuery一節(jié)。 php 這個定義了主題支持的PHP最低版本。其默認值源自DRUPAL_MINIMUM_PHP常量,它是Drupal內(nèi)核所需要的php最低版本。對于一個新的版本,如果需要的話,可以對其進行重新定義。而對于大多數(shù)的主題,都不應該添加這一項。php = 4.3.3drupal主題制作之覆寫可主題化的輸出覆寫機制有一個特定的級聯(lián)順序,當然也包含一些特殊情況。Drupal內(nèi)核和模塊使用主題鉤子提供了一個合
17、理的默認輸出。如果默認輸出不符合主題的 需求的話,那么就可以對其進行覆寫,從而避免使用默認輸出。這樣,默認的將被放到一邊去,我們不再管它,而將所有的特定修改放到所用的主題目錄下面。不要 直接修改Drupal內(nèi)核和模塊,只在主題目錄下面修改。 如果傳統(tǒng)的覆寫不能滿足你的需要的話,你可以使用主題注冊表。注意:盡管在Drupal 6中PHPTemplate.engine還存在,但它已不再覆寫主題函數(shù)了。在Drupal5中,它允許使用模板來處理部分主題鉤子。而現(xiàn)在則不必要這樣了。drupal6的主題注冊表Drupal的主題注冊表維護了主題鉤子相關(guān)的緩存數(shù)據(jù),包含主題鉤子和如何處理它們的信息。
18、對于大多數(shù)主題開發(fā)者來說,都不需要直接與注冊表打交道。只需要記住,當添加或者刪除主題函數(shù)和模板時,要清空它。編輯已有的函數(shù)和模板時,則不需要清空。清空主體注冊表,有3方式:1. 位于"Administer > Site configuration > Performance"的clear按鈕。2. 如果啟用了devel區(qū)塊(devel模塊創(chuàng)建的),點擊"Empty cache"連接。3. 使用API函數(shù)drupal_rebuild_th
19、eme_registry。 主題注冊表是主題鉤子相關(guān)信息的緩存數(shù)據(jù),包括Drupal可用的主體鉤子,鉤子類型,即如何處理它們。在以前的版本中,所有的主題調(diào)用都是直接完成的。由于在底層需要進行大量的處理工作,而緩存可以加快這種處理,特別是對于模板而言。你主題用到的引擎應該為你自動的注冊所有的主題鉤子。在一些特殊情況下,你需要直接與注冊表打交道。如果你的主題需要注冊一個新的鉤子,而該鉤子不在底層中(內(nèi)核,模塊,引擎)。比如說一些表單,內(nèi)核或者模塊沒有明確對其主體化,而僅僅使用了默認的表單輸出。 更多細節(jié),參看子頁面“特殊情況下的主題注冊表”
20、(The theme registry for special cases)。 不要將主題注冊表與主題的.info文件混淆了,兩者都被緩存了。清空主題注冊表的第1點和第2點,同時也清空了.info的緩存。durpal6的主題預處理函數(shù)/* Style Definitions */table.MsoNormalTablemso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-priority:99;mso-sty
21、le-qformat:yes;mso-style-parent:""mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.0pt;font-family:"Calibri","sans-serif" 預處理函數(shù)僅適用于模板形式的主題鉤子.它的主要作用是設置模板文件(*.tpl.php)中所用到的變量。
22、在預處理器(Preprocessor)中,一般涉及不到普通的主題函數(shù)。注意:· 在提供模板建議(template suggestions)時也會用到預處理器。 · 在drupal5中,函數(shù)_phptemplate_variables提供了同樣的功能,在drupal6中,為了以后版本的兼容性,最好不要用這個函數(shù)。 對于單個主題鉤子,可以有多個預處理器。內(nèi)核,模塊,引擎,主題,每層都可以有一個預處理器,來逐步的構(gòu)建顯示在模板文件中的變量集。通過將大部分邏輯放到這些預處理器中,可使得模板文件更加簡潔,易于使用。 下面是預期的預處理器。當它們同時存在時,按照下面的順序運行
23、:1. template_preprocess-這個是由內(nèi)核提供的,也是始終存在的。這里聲稱的變量在所有的模板鉤子中都可以使用.2. template_preprocess_hook-實現(xiàn)了主題鉤子的內(nèi)核或者模塊提供該處理器。特定于某個鉤子的變量,通常首先在這里生成。3. moduleName_preprocess-不要將這個與前面的預處理器混淆了。對于那些最初沒有實現(xiàn)鉤子的模塊,它允許影響變量集。它將在所有的鉤子中運行。4. &
24、#160; moduleName_preprocess_hook-和第3個一樣,但是特定于某個鉤子。5. engineName_engine_preprocess-主題引擎的預處理器。適用于所有的鉤子。6. engineName_engine_preprocess_hook-主題引擎的另一個預處理器,特定于單個鉤子。7. engineName_preprocess-這是第一個可以在主題內(nèi)部使用的預處理器。命名方式為,主題所用引擎名稱+預處理
25、器名。適用于所有的鉤子。8. engineName_preprocess_hook-這個和第7個一樣,但是特定于單個鉤子。9. themeName_preprocess-命名方式為:主題名+預處理器名。適用于所有的鉤子。10. themeName_preprocess_hook-與前者一樣,但是特定于單個鉤子。這里有多種方式可修改變量集。在大多數(shù)情況下,只有前兩個預處理器存在。第一個,添加了所有的默認基本變量,而第2個添加了特定于該主題鉤子的變量。第3方模塊,如果用到了第3和
26、第4個預處理器的話,需要添加注釋對其進行詳細說明。這里就不對此展開討論了。 盡管可以這樣做,但是默認的PHPTemplate沒有對變量集進行修改。(5 & 6)從列表中的第7個開始,所有的預處理器都是放置在主題中的。這個預處理器列表最多是可以超過10個的,那就是使用子主題,子主題是基于第9和第10個預處理的前綴主題名的,但是這種情況在實際中很少用到。 注意:· 一般推薦在基主題的預處理器中使用引擎名稱(7 & 8)。這有利于代碼在主題之間的遷移,同時有利于在D上發(fā)布代碼
27、片斷。 · 而只有在子主題(sub-themes)中才使用主題名稱(9 & 10)。這將減少潛在的重名沖突,在PHP中是不允許重名的。 · 為了識別你主題的預處理器,與鉤子相關(guān)聯(lián)的模板必須位于主題內(nèi)部。如果存在默認的模板的話,將其拷貝到你的主題下面,并清空注冊表。如果你要將一個主題函數(shù)轉(zhuǎn)化為一個模板,參看前面頁面的“以模板方式注冊鉤子”(/node/173880#convert-type)。 注意,這些函數(shù)中都沒有返回值,所有的變量都是通過引用傳遞的,前面都有符號“&”,比如&$var。 由于這里適用的是引用
28、方式,所以在前面設置的變量,在后面的預處理器中都會存在,所以你一定要小心,不要在這里出什么亂子。重置以前的變量是可以的,但重置以后,你總會疑神疑鬼,感情哪里會出漏子。這個例子,來自于實現(xiàn)了鉤子"foo"的模塊:<?phpfunction template_preprocess_foo(&$variables) $variables'foo_list' = array( 'list item 1', 'list item 2',&
29、#160; 'list item 3', );?>在主題的預處理器中添加變量集:<?phpfunction drop_preprocess_foo(&$variables) / Do not do this unless you mean to: $variables'foo_list' = array('list item 4'); / Instead do this: $variables'foo_list'
30、= 'list item 4'?>在模板文件中使用的變量,就是$variables的鍵。所以,在上面的例子中,在模板文件中可用的變量就是$foo_list。drupal的核心的模板和建議6.x默認模板:這些為內(nèi)核提供的默認模板(*.tpl.php)文件.模板文件內(nèi)部包含了相應變量和模板用途的文檔.這有對于所有模板都可用的默認變量集.由PHPTemplate在5.x中處理的模板,也被刪除了. PHPTemplate不再處理模板文件.為了覆寫這些模板,你只需要將其拷貝到你的主體目錄下,并清空主題注冊表. Aggregator(聚合器)"modules/ag
31、gregator/." aggregator-feed-source.tpl.php aggregator-item.tpl.php aggregator-summary-item.tpl.php aggregator-summary-items.tpl.php aggregator-wrapper.tpl.phpBlock (區(qū)塊)"modules/system/."
32、60; block.tpl.php"modules/block/." block-admin-display-form.tpl.phpBook (書)"modules/book/." book-all-books-block.tpl.php book-export-html.tpl.php book-navigation.tpl.php book-node-expo
33、rt-html.tpl.phpComment (評論)"modules/comment/." comment-folded.tpl.php comment-wrapper.tpl.php comment.tpl.phpForum (論壇)"modules/forum/." forum-icon.tpl.php forum-list.tpl.php
34、0; forum-submitted.tpl.php forum-topic-list.tpl.php forum-topic-navigation.tpl.php forums.tpl.phpNode (節(jié)點)"modules/node/." modules/node/node.tpl.phpPoll (投票)"modules/poll/." poll-bar-block.t
35、pl.php poll-bar.tpl.php poll-results-block.tpl.php poll-results.tpl.php poll-vote.tpl.phpProfile (外形)"modules/profile/." profile-block.tpl.php profile-listing.tpl.php
36、0; profile-wrapper.tpl.phpSearch (搜索)"modules/search/." search-block-form.tpl.php search-result.tpl.php search-results.tpl.php search-theme-form.tpl.phpUser (用戶)"modules/user/." user-picture
37、.tpl.php user-profile-category.tpl.php user-profile-item.tpl.php user-profile.tpl.phpSystem (系統(tǒng))"modules/system/." page.tpl.php maintenance-page.tpl.php box.tpl.php一些常用drupal主題技巧整理這些
38、都是我以前學習drupal的時候保存下來的問題,整理下硬盤,把這些貼出來,希望對大家有用。其實很多問題,論壇內(nèi)都有答案的,請多用搜索,有收藏的朋友可以跟帖,謝謝。定制登陸界面:/node/19855讓某個條件下的節(jié)點使用新的page.tpl.php(條件自行判斷)/node/46017定制分類的界面<?phpif ($terms0->tid = '3') include 'page-brochure.tpl.php' /*load a custom page-brochure.tpl.p
39、hp if the taxonomy term of the current node matches */ return; ?>定制用戶信息界面/node/35728定制搜索框/node/45295讓圖片自動縮放的一段代碼,也是經(jīng)常用到的哦img max-width: 200px; width: 200px; WIDTH: expression(parseInt(this.width)>200?'200px': this.width); border:0px;一些常
40、用的判斷/node/23348區(qū)塊位置可見設置的一些參考/node/64135在theme里區(qū)別顯示一般分類與freetag標簽/node/1521一個國外的drupal相冊制作視頻教程/node/2735views+cck+viewfield自定義頁面風格錄象教程上傳一個到了,質(zhì)量很差視頻在群FTP里的位置/files/drupal視頻錄像/views+cck+viewfield自定義頁面風格/公開FTP,有好東西大家分享,但不要
41、亂傳,亂刪東西,謝謝合作!-感謝KK125提供size:5000Mftp:usr:drupal5psw:okk125-下面是由east整理:我也發(fā)幾條經(jīng)常用到的一些代碼,自制主題時經(jīng)常會需要用到的一些權(quán)限判斷代碼。按登錄非登錄判斷:<?php global $user;/*是否為登錄用戶*/if ($user->uid)/*如果是當前瀏覽者為登錄用戶則顯示下面的內(nèi)容*/ print ; else /*如果是當前瀏覽者為非登錄用戶則顯示下面的內(nèi)容*/ print ; ?>
42、按用戶uid判斷,這個很適合把一些特定區(qū)塊只顯示給管理員:<?php global $user;/*是否為登錄用戶*/if ($user->uid = 10)/*如果是當前瀏覽者登錄且uid等于10則顯示下面的內(nèi)容*/ print ; else /*如果是當前瀏覽者uid不等于10則顯示下面的內(nèi)容*/ print ; ?>按角色判斷,給不同用戶組顯示不同的內(nèi)容:<?phpglobal $user;/*是否為登錄用戶*/if (in_array('vips&
43、#39;,$user->roles) /*假定有一個角色,叫做"vips",如登錄用戶屬于該用戶組,則顯示以下內(nèi)容*/print ;else/*若不屬于"vips"用戶組則顯示以下內(nèi)容*/print ;?>判斷用戶是否有編輯權(quán)限:<?phpif (node_access('update', $node)/*如果用戶有編輯當前節(jié)點的權(quán)限,則顯示以下內(nèi)容。*/print ;/*通常這兒是當前節(jié)點的編輯鏈接*/else/*如果沒有,則顯示以下內(nèi)容。*/print?>定義主題regions:比如,在template.php
44、里加上:<?phpfunction 主題名_regions() return array('contenttop' => t('內(nèi)容頂部'),'contentbottom' => t('內(nèi)容底部'), );?>現(xiàn)在進入管理區(qū)塊,看一下,是不是出現(xiàn)了“內(nèi)容頂部”、“內(nèi)容底部”這兩個塊了?舉一反三,想要更多的塊就很簡單了。塊的寬度,顯示位置,也是非常靈活的。當然,你需要然在page.tpl.php文件中加上這兩句:<?phpprint $contenttop?><?p
45、hpprint $contentbottom?>上面也發(fā)了根據(jù)分類制作布局,因為制作主題比較多,經(jīng)常會用到這些代碼,就發(fā)個比較全面的?;景祟愋?、分類、節(jié)點、別名url。都是從官方找來整理的。官方文檔是個大寶庫,建議中文站用cck做個方便查閱的文檔庫,有時間和興趣的可以翻譯官方的book添加上去。drupal使用php模板引擎,主題制作修改非常靈活,可以按類型按url按分類來定義不同page.tpl.php。具體操作步驟如下:將page.tpl.php復制一份,另存為page-default.tpl.php?,F(xiàn)在可以在page.tpl.php里定義了:<?phpif ($is_
46、front) include 'page-front.tpl.php' return; if (arg(0)="node"&& arg(1)="add" ) include 'page-add.tpl.php' return; if ($node->type = 'story') include '
47、;page-story.tpl.php' return; include 'page-default.tpl.php' return;?>上面的意思就是首頁使用page-front.tpl.php,路徑為node/add的使用page-add.tpl.php,類型為story的節(jié)點使用page-story.tpl.php,其它都使用page-default.tpl.php有一點要注意,drupal默認會先按url路徑讀取模塊,比如有story類型的文章,url為 /front/345,系統(tǒng)會先
48、尋找page-front.tpl.php,因為node/6也是一個路徑,所以默認會先根據(jù)節(jié)點的nid來讀取。如果你根據(jù)類型指定了不同的page-xxx.tpl.php,讀取順序會變成這樣,以nid為6的blog節(jié)點為例:page-node-6.tpl.php -> page-blog.tpl.php -> page.tpl.php節(jié)點tpl.php需要在template里定義variables函數(shù)。定義方法見面下。這樣定義了之后,系統(tǒng)讀取順序就是這樣,以nid為6的 blog文章為例子:node-node-6.tpl.php -> node-blog.tpl.php ->
49、; node.tpl.php。如果沒有template.php就建一個,如果template里已經(jīng)有variables函數(shù),根據(jù)實際情況修改一下。<?phpfunction _phptemplate_variables($hook, $vars = array() if ($hook = 'node') $alias = $_GET'q' $suggestions = array(); $name_prefix =
50、9;node' $node_type = !empty($vars'node'->type) ? '-' . $vars'node'->type : '' $add_path = '' foreach (explode('/', $alias) as $path_part) $add_path .= !empty
51、($path_part) ? '-' . $path_part : '' $suggestions = $name_prefix . $add_path; $suggestions = $name_prefix . $node_type . $add_path; $vars'template_files' = $suggestions;
52、0; if (module_exists('path') $alias = drupal_get_path_alias($_GET'q'); if ($alias != $_GET'q') $suggestions = array(); $add_
53、path = '' foreach (explode('/', $alias) as $path_part) $add_path .= !empty($path_part) ? '-' . $path_part : '' $sugge
54、stions = $name_prefix . $add_path; $suggestions = $name_prefix . $node_type . $add_path; $vars'template_files' = array_merge($vars'
55、;template_files', $suggestions); return $vars;?>給不同分類定義不同的page-xxxx.tpl.php:<?phpif (arg(0)="taxonomy"&&arg(1)="term"&&arg(2)="214") include 'page-term-photo.tpl.php'/*分類id為214,使用page-te
56、rm-photo.tpl.php。*/ return; ?>原文:drupal主題制作之模板建議主題制作之建議只有和基模板放在同一個目錄下面時,才能工作.換句話說,為了讓comment-blog.tpl.php正常工作,你需要把comment.tpl.php也放到同一個目錄下.下面列出默認建議.block-region|module|-delta.tpl.php基模板: block.tpl.php默認建議及順序:1. block-module-delta.tpl.php2. block-module.tpl.
57、php3. block-region.tpl.php"module"為模塊名稱,而"delta"為模塊分配給該區(qū)塊的內(nèi)部id.例如, "block-user-1.tpl.php"將用于默認用戶導航區(qū)塊,因為該區(qū)塊由user模塊創(chuàng)建,且內(nèi)部id為1. "region"將對特定區(qū)域產(chǎn)生作用.comment-type.tpl.php基模板: comment.tpl.php默認建議為comment-type.tpl.php,它用于特定節(jié)點類型的評論格式,以區(qū)別站內(nèi)的其它評論.與node-type.tpl.php類似,但是它
58、用于評論.comment-wrapper-type.tpl.php基模板: comment-wrapper.tpl.php與前者類似,但是用于包裝器(wrapper)模板.forums-container|topic-forumID.tpl.php基模板: forums.tpl.php默認模板建議及順序。對于論壇容器1. forums-containers-forumID.tpl.php2. forums-forumID.tpl.php3. forums-containers.tpl.php對于論壇話題:1. forums-topics-forumID.tpl.php2. forums-for
59、umID.tpl.php3. forums-topics.tpl.phpmaintenance-page-offline.tpl.php基模板: maintenance-page.tpl.php當數(shù)據(jù)庫不可用時,應用該模板建議.用來為用戶展示一個不帶錯誤信息的頁面.首先需要設置維護頁面的主題化.node-type.tpl.php基模板: node.tpl.php節(jié)點類型,例如"node-story.tpl.php", "node-blog.tpl.php",等等.page-front|internal/path.tpl.php基模板: page.tpl.
60、php可以有無數(shù)個建議.具有優(yōu)先級的為首頁(front page).剩下的都是基于當前頁面的內(nèi)部路徑。不要將內(nèi)部路徑和路徑別名混淆了,這里不能使用路徑別名。記住,通常使用pathauto.module來設置路徑別名??赏ㄟ^"Administrator > Site configuration > Site information"來設置首頁。對于設置好的首頁,將會為其使用"page-front.tpl.php"模板。下面為模板建議文件,根據(jù)內(nèi)部路徑,越特殊的次序越靠前。如果系統(tǒng)為當前頁面找到了一個模板建議的話,就不會再調(diào)用位于它后面的模板建議
61、了。例如,對于會有下面的建議可用:1. page-node-edit.tpl.php2. page-node-1.tpl.php3. page-node.tpl.php4. page.tpl.phppoll-results-block.tpl.php基模板: poll-results.tpl.php生成投票結(jié)果的主體函數(shù),可供節(jié)點和區(qū)塊共同使用。默認是用于節(jié)點的,但是模板建議使得可以用在區(qū)塊區(qū)域中。這個建議是默認的,它位于"modules/poll/poll-results-block.tpl.php"。poll-vote-block.tpl.php基模板: poll-vo
62、te.tpl.php與poll-results-block.tpl.php類似,但用來生成投票表單。你必須自己為其提供模板,以讓其生效。poll-bar-block.tpl.php基模板: poll-bar.tpl.php與poll-vote-block.tpl.php一樣,但是用來生成單個的bars(細長條紋)。profile-wrapper-field.tpl.php基模板: profile-wrapper.tpl.php這個profile包裝器模板,是在瀏覽會員列表頁面時使用的。當瀏覽特定的字段時,在模板建議中需要使用字段名稱。例如/profile/cou
63、ntry/Belgium 使用的模板為"suggest profile-wrappercountry.tpl.php"。search-results-searchType.tpl.php基模板: search-results.tpl.phpsearch-results.tpl.php是搜索結(jié)果的默認包裝器。根據(jù)搜索類型的不同,使用不同的建議。例如,對于" 而對于" 搜索類型,并為其添加更多的建議。search-result-searchType.tpl.php基模板: search-result.tpl.php與前者相同,但是用于單個的搜索結(jié)果。通過dr
64、upal的API添加樣式表通過.info文件添加樣式表,對于大多數(shù)主題來說,已經(jīng)足夠了.由于.info文件是靜態(tài)的,所以不能動態(tài)的添加樣式表。依據(jù)主題是如何處理樣式表的,將它們放到一塊也是可以的。當你有所疑慮的時候,使用.info文件就可以了。有兩個API函數(shù)可用來處理樣式表,drupal_add_css 和drupal_get_css。下面是一個動態(tài)添加樣式表的例子。將前綴"drop"改為你的主題名。<?phpfunction drop_preprocess_page(&$variables) $front_style = path_to_theme() .
65、'/front-page.css'$path_style = path_to_theme() .'/path-'. arg(0) .'.css'if (file_exists($front_style) && $variables'is_front') $include_style = $front_style;elseif (file_exists($path_style) $include_style = $path_style;if (isset($include_style) drupal_add_css($include_style, 'theme', 'all', FALSE);$variables'styles' = drupal_get_css();?>在上面的例子中,訪問首頁,將會加載樣式表"front-page.css",而訪問其它頁面,則會根據(jù)內(nèi)部路徑的不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 無齒圓鋸片行業(yè)深度研究報告
- 電力系統(tǒng)優(yōu)化改進服務合同
- 2025年中國汽輪機葉片行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 5G通信技術(shù)研究及應用開發(fā)投資合同
- 鍋爐燃燒器擴散罩行業(yè)深度研究報告
- 智能旅游景區(qū)規(guī)劃設計合同
- 齒輪液壓泵采購申請報告
- 2025年牙科診所醫(yī)療廢物處理設施安全風險評估合同4篇
- 二零二四平行進口車汽車音響改裝與銷售合同范本3篇
- 二零二四年農(nóng)場自建房購置合同范本3篇
- 江蘇省鹽城市鹿鳴路初級中學2024-2025學年八年級上學期期末考試語文試題(含答案)
- 新蘇教版一年級數(shù)學下冊第六單元《簡單的數(shù)量關(guān)系(一)》教案(共2課時)
- 浙江省寧波市九校2024-2025學年高一上學期期末聯(lián)考試題 數(shù)學 含答案
- GA/T 2146-2024法庭科學涉火案件物證檢驗移動實驗室建設通用要求
- 北京市石景山區(qū)2024-2025學年九年級上學期期末考試數(shù)學試卷(含答案)
- 杜邦公司十大安全理念
- 廣聯(lián)達2024算量軟件操作步驟詳解
- 2025年新高考語文模擬考試試卷(五) (含答案解析)
- 教育部《中小學校園食品安全和膳食經(jīng)費管理工作指引》專題培訓
- 中國共產(chǎn)主義青年團團章
- 普外科一科一品一特色科室活動方案
評論
0/150
提交評論