我已經創建了一個名爲Homepage的新內容類型,它有許多字段。這些字段是對單一圖像促銷內容類型的節點引用。單一促銷包含標題,文字和圖片的字段。我的想法是,我可以創建單個促銷包的多個副本,每個包含不同的字段值。然後我想在主頁上放置其中的一些。如何在Drupal頁面上放置多種內容類型?
因此,我現在可以在主頁上放置特定的單張圖片優惠。但是,如果在主頁上顯示節點引用時顯示Single Image Promo的樣式,我需要創建哪個模板文件?
感謝, 瑪麗亞
我已經創建了一個名爲Homepage的新內容類型,它有許多字段。這些字段是對單一圖像促銷內容類型的節點引用。單一促銷包含標題,文字和圖片的字段。我的想法是,我可以創建單個促銷包的多個副本,每個包含不同的字段值。然後我想在主頁上放置其中的一些。如何在Drupal頁面上放置多種內容類型?
因此,我現在可以在主頁上放置特定的單張圖片優惠。但是,如果在主頁上顯示節點引用時顯示Single Image Promo的樣式,我需要創建哪個模板文件?
感謝, 瑪麗亞
這聽起來像你是在複雜的事情。
如果你想在你的主頁上創建一些不同的框,使用節點引用不是正確的方法來解決這個問題。有幾種不同的方式可以做你想做的事情,最簡單的方法是創建一個你想要顯示的節點的塊視圖。當你把一個節點變成一個塊時,你可以將它放在你的任何主題的定義區域中。
您也可以創建一個視圖,然後根據需要獲取不同的單一圖像推廣,而無需使用任何節點參考。視圖有很多不同的過濾器,這將使您能夠創建始終顯示正確節點的視圖。如果您想將節點放置在不同區域,此解決方案將無法正常工作。
要回答您的問題,當節點正在顯示時,它們將默認使用node.tpl.php
模板文件呈現。要爲每個節點類型創建特定模板,可以創建一個名爲node-nodetype.tpl.php
的新模板,其中nodetype是您在創建節點時所稱的節點類型。
node-nodetype.tpl.php可以在一定程度上工作,但是在那個文件中,您正在設計整個頁面,內容類型的字段通過一個$ content變量批量傳遞給tpl。也許這對你已經足夠了,但是如果你需要更細粒度的控制:
你可以使用Content Template(contemplate)模塊編輯和設置單個內容類型的字段。它提供對$ content變量(批量交付給node-nodetype.tpl.php)的所有內容類型字段的訪問。默認是php,因此您可以爲節點引用字段添加邏輯和條件格式通常在預期中清楚地標出)
並且不要忽略內容類型的「顯示字段」選項卡(管理字段選項卡旁邊)的簡單解決方案,您可以在其中將某些字段輸出控制在門外。
感謝googletorp,這就是我最後做的,爲它創建了一個視圖並設置了一個塊顯示,我過去曾嘗試過,但是我在哪裏看到了指定視圖應該用於哪個特定節點。然後發現了我現在使用的視圖過濾器,看起來有點沉重,我必須爲e創建一個視圖儘管非常節點。 – Maria 2009-12-09 10:02:41