2008-09-16 70 views
84

我用CCK和View 2模塊定義了一個視圖。我想快速定義一個特定於此視圖的模板。任何教程或信息?什麼是我需要修改的文件?如何快速主題視圖?


這裏是我的調查結果:(編輯)

事實上,有兩種方法可以爲主題的觀點:「」的方式和「節點」的方式。在「編輯視圖」中,可以選擇「Row style: Node」或「Row style: Fields」。

  • 與「節點」的方式,你可以創建一個節點contentname.tpl.php至極,直接調用視圖中的每個節點。您可以通過$ field_name [0] ['value']訪問您的cck字段值。 (edit2)您可以使用node-view-viewname.tpl.php只有從這個視圖中顯示的每個節點纔會被調用。
  • 與「字段」的方式,你爲每個你想單獨主題的字段添加一個views-view-field-viewname -field-name-value.tpl.php。

由於先前的響應,我使用以下工具:

  • 在「基本設置」模塊中,'主題:信息可查看所有不同的模板,你可以修改。
  • Devel module的「主題開發者」可以快速找到字段變量名稱。
  • View 2 documentation,特別是"Using Theme"頁面。
+1

它是視圖,視圖-fields - viewname - field-name-value.tpl.php not views-view-field - viewname --field-name-value.tpl.php你在第一個字段中缺少「s」 – 2011-09-19 23:03:53

+0

哪個文件夾你添加了嗎? – Talon 2012-01-26 21:15:42

回答

50

事實上,有兩種方法可以爲主題的觀點:「」的方式和「節點」的方式。在「編輯視圖」中,可以選擇「Row style: Node」或「Row style: Fields」。

  • 與「節點」的方式,你可以創建一個節點contentname.tpl.php至極,直接調用視圖中的每個節點。您可以使用$ field_name [0] ['value']
  • 與「Field」方式訪問您的cck字段值,您可以添加views-view-field-viewname-field-name- value.tpl.php爲每個你想單獨主題的領域。

由於先前的響應,我使用以下工具:

  • 在「基本設置」模塊中,'主題:信息可查看所有不同的模板,你可以修改。
  • Devel module的「主題開發者」可以快速找到字段變量名稱。
  • View 2 documentation,特別是"Using Theme"頁面。
21

快速的方式找到模板文件,你可以創建和修改在視圖2.0視圖是:

  1. 編輯觀點
  2. 選擇樣式(如頁,塊,默認)
  3. 在'基本設置'區塊中點擊'主題:信息'查看您可以修改的所有不同模板。
15

Devel module的「主題開發人員」功能可以方便地查看Drupal在尋找主題時尋找的模板文件。以該頁面上的屏幕截圖爲例。

4

我的快捷方式選項。

  1. 轉到theme.inc文件YOUR_MODULE_DIR /視圖/主題/文件夾。

  2. _views_theme_functions功能打印的$主題變量或放在函數的最後一行斷點看到變量的內容。

只是轉換views_view觀點視和__到 - 並添加模板擴展,從而獲得所需的文件名。

例如,如果$主題數組的元素是views_view__test_view__block(其中test_view是你的視圖的名稱),則該模板文件的名稱將是觀點視角 - test_view - 塊。 tpl.php

5

塊意見-myViewName-myBlockId.tpl.php工作

2

在我看來,以決定使用主題化的觀點哪個模板文件中的最簡單方法是: 1)點擊管理/ build/views/edit/ViewName - >基本設置 - >主題

點擊此處將列出所有可能的模板文件。突出顯示(以粗體顯示的文件名)文件指示正在使用哪個模板文件做主題視圖的哪一部分。將相關視圖模板文件RESCAN ..中的所需更改合併後,現在您應該能夠看到突出顯示的已更改模板文件。

9

您還應該檢查出Semantic Views。對於簡單的意見主題,這是真的得心應手。

6

一個提示:

你可能有一些需要類似格式的意見。爲這些視圖中的每一個創建模板並複製它們會產生惡意代碼分支 - 如果要求您更改站點的整體外觀(意味着以這種特殊方式更改每個視圖的顯示),那麼您必須分別回去編輯每一個。

而不是使用視圖界面來選擇新的模板的視圖,我有時只是插入一些代碼分支到一個視圖文件。例如。在views-view-fields.tpl.php一個網站,我有:

if($view->name == 'articleList' || $view->name == 'frontList' 
|| $view->name == 'archiveList') { 
/* field formatting code */ 
} else { 
/* the default code running here */ 
} 

這則修改了我只想爲這個家查看= articleList,新書書目和archiveList中的方式領域 - 並使用此模板的其他視圖運行的代碼一個正常在這個模板中找到。如果客戶問:「嘿,你能否讓這些頁面顯示在頭版列表中看起來更像(...)」的檔案&「,這只是我編輯這個文件的開始&而不是三個不同的文件。維護變得更加快速友好。

1

如果您想通過大量的拖放操作快速進行Drupal開發,那麼Display Suite模塊會自動定義。是一個東西,你應該使用:http://drupal.org/project/ds

0

根據我有兩種方法可以做到這一點:

程序化的方式:

  1. 去編輯視圖。
  2. 選擇頁面/塊樣式。
  3. 轉到'基本設置',然後點擊'主題:信息'查看您可以修改的所有不同模板。
  4. 添加要主題html和打印視圖的變量,無論需要

配置更新:Using the Display suite顯示屏套件爲我們提供了一個選項,以在線或以上把你的標籤,並添加甚至隱藏起來。也可以添加到視圖元素的自定義類。 高級選項包括:

  • 出口品
  • 添加您自己的自定義字段中的後端或在你的代碼
  • 添加自定義佈局在主題(D7只)
  • 更改標籤,添加樣式或重寫字段設置(語義字段)。
  • 的意見和麪板的全面集成
  • 通過安裝田集團擴展您的佈局的功率
  • 使用對象緩存(D6)或實體緩存(D7)的集成優化性能