回答
您可以創建一個模板文件,以主題幾乎視圖輸出的任何方面。在你的情況下,你想爲你的頁面顯示創建一個自定義模板。
在視圖設計器上,單擊基本設置中的主題鏈接。您會看到一些模板文件的命名選項,具體取決於您是否想要整個視圖的主題(例如,views-view-example-page.tpl.php),每行(例如views-view-fields - example --page.tpl.php)等等。
將您想要自定義的相應模板從/ sites/all/modules/views/theme複製到您的主題並根據需要進行自定義。
一旦您創建了自定義模板文件,您可以返回到視圖設計器主題鏈接以確保它正在被使用。你的模板應該用粗體顯示。
希望這會有所幫助。使用sillygwailo的建議
當視圖處於活動狀態而不是視圖本身時,OP是不是詢問主題頁?當您有頁面顯示的視圖時,最頂層的模板仍然來自views-view.tpl.php,該視圖不包含任何頁面元素。這仍然會塞進任何頁面模板處於活動狀態。 – mpdonadio 2010-12-03 17:59:27
假設視圖爲頁面,可以在預處理中使用page_manager_get_current_page()
的結果來確定您的視圖是否處於活動狀態,然後採取適當的步驟(粘貼正文類,添加模板建議等)。
還有一些documentation on template suggestions,你可能會對page.tpl.php suggestions感興趣。如果它是頁面視圖,則可以使用路徑建議。因此,如果您的視圖位於http://www.example.com/photos,則page.tpl.php
文件將被命名爲page-photos.tpl.php
。
我得到這個工作對我來說非常漂亮:
function YOUR-THEME-NAME_preprocess_page(&$vars) {
//allow template suggestions based on url paths.
$alias = drupal_get_path_alias(str_replace('/edit','',$_GET['q']));
if ($alias != $_GET['q']) { $suggestions = array();
$template_filename = 'page';
foreach (explode('/', $alias) as $path_part) {
$template_filename = $template_filename . '-' . $path_part;
$suggestions[] = $template_filename;
}
$alias_array = explode('/', $alias);
$variables['template_files'] = $suggestions;
那麼如果你的觀點是www.example.com/photos,在你的主題創建一個頁面photos.tpl.php目錄和drupal將使用它作爲你的模板。
有一個類似的問題,這是通過將.tpl.php放入我的主題的模板文件夾中解決。對於意見的Drupal 7頁顯示的命名約定頁面 - 路徑到view.tpl.php
在Drupal 7的主題,我加入的template.php模板建議:
function sovon_preprocess_page(&$variables) {
if(views_get_page_view()) {
$variables['theme_hook_suggestions'][] = 'page__view';
}
}
有關更多信息,請參見http://api.drupalize.me/api/drupal/function/views_get_page_view/7和http://drupal.org/node/223440#custom-suggestions。
我喜歡你的答案的簡單性,但我想我會建立它。我也意識到它已經兩歲多了,但這可能會有所幫助。所以,我所做的是將函數內部改爲:\t if($ view = views_get_page_view()){ $ variables ['theme_hook_suggestions'] [] ='page-view - '。$ view - >名稱; } 這樣做是抓住視圖名稱,並尋找任何模板文件的前綴「page - view-」和您的視圖名稱。通過這種方式,您可以在不爲每個視圖編寫if語句的情況下擴展該視圖。 – Kirkland 2014-11-11 20:08:27
每Allartk的解決方案
在的Drupal 7的template.php:
function <theme>_preprocess_page(&$variables) {
if (($views_page = views_get_page_view()) && $views_page->name === "galleries") {
$variables['theme_hook_suggestions'][] = 'page__views__galleries';
}
}
然後在你的主題目錄下創建的頁面 - 視圖 - galleries.tpl.php文件。 清除drupal緩存和模板應該可以工作。 我使用'畫廊'作爲和示例視圖名稱。
不需要這個,只需使用'drupal 7是page-path-to-view.tpl.php' – Duncanmoo 2012-11-06 09:50:54
如果選中的答案不起作用(因爲它不適合我),您可以創建一個頁面 - (urlname).tpl。PHP然後風格你的主題,但你想要的。然後,你可以導入你的視圖的幾種方法之一...
print render($page['content']);
或
$視圖= views_get_view( '視圖名'); print $ view-> execute_display('default',$ args);
的$ args只是一個數組,可以blank..you可以只把它完全關閉
- 1. Drupal page.tpl.php不更改
- 2. 在page.tpl.php中顯示頁面視圖drupal 7
- 3. Drupal的條件page.tpl.php中
- 4. drupal page.tpl.php內容變量?
- 5. Drupal page.tpl.php動態網址模板
- 6. Drupal 7:調用「menu block」進入page.tpl.php
- 7. 如何在drupal 7中顯示page.tpl.php中的圖像
- 8. Drupal 7的靶向特定陣列中一個page.tpl.php中
- 9. 覆蓋page.tpl.php爲Drupal 7中的登錄頁面
- 10. 自定義drupal視圖
- 11. Drupal自定義視圖
- 12. Drupal 6 - 爲特定視圖禁用視圖緩存
- 13. 定製iPhone視圖爲iPad
- 14. 爲Drupal 7頁面回調定製page.tpl.php時遇到麻煩,通過AJAX提供表單服務
- 15. Drupal 6十進制和視圖
- 16. 按角色限制Drupal視圖訪問
- 17. Drupal 6 - 強制頁面視圖顯示不同的視圖?
- 18. 如何在Drupal視圖塊中定製HTML結構
- 19. Drupal 6:製作一個menu_hook()返回一個特定的視圖
- 20. 如何使用通配符爲URL定製Drupal 7中的視圖
- 21. Drupal:自定義視圖過濾器
- 22. Drupal 7視圖和自定義模塊?
- 23. drupal自定義視圖過濾器
- 24. Drupal 7的自定義視圖主題
- 25. Drupal 7視圖限制爲當前用戶的使用權
- 26. Drupal視圖字段
- 27. Drupal cck和視圖
- 28. Drupal:視圖標題
- 29. 使用Drupal視圖
- 30. 如何以編程方式渲染drupal 7 page.tpl.php中的自定義字段?
的方法取決於什麼樣的視圖顯示你正在使用。例如,它是頁面還是塊? – keithm 2010-12-02 18:09:53