自定义page.tpl.php为drupal视图

Ant*_*pes 3 drupal views drupal-views drupal-6 drupal-themes

如何为特定视图创建自定义page.tpl.php?

我不是在谈论视图本身的样式,而只是视图呈现的页面.

谢谢.

@Keith Morgan - 这是页面.

Ami*_*mir 7

Per 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';
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在您的主题目录中,创建页面 - views - galleries.tpl.php文件.清除drupal缓存和模板应该工作.我使用'画廊'作为示例视图名称.

  • 不需要这个,只需使用`drupal 7 is page - path-to-view.tpl.php` (4认同)

kei*_*thm 5

您几乎可以在视图输出的任何方面创建模板文件.在您的情况下,您想为页面显示创建自定义模板.

在视图设计器上,单击"基本设置"中的"主题"链接.您将看到一些模板文件命名选项,具体取决于您是否要主题化整个视图(例如,views-view - example - page.tpl.php),每一行(例如,views-view-fields - example --page.tpl.php)等等.

将您要自定义的相应模板从/ sites/all/modules/views/theme复制到主题并根据需要进行自定义.

创建自定义模板文件后,您可以返回到视图设计器主题链接以确保它正在使用.您的模板应该加粗.

希望这可以帮助.

  • 当视图处于活动状态而不是视图本身时,OP是否询问主页?当您有一个带有页面显示的视图时,最顶层的模板仍然来自views-view.tpl.php,它不包含任何页面元素.这仍然会被填充到任何活动的页面模板中. (11认同)