Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 在page.tpl.php文件中获取视图名称 如何在page.tpl.php文件中获取当前视图名称? 细节:_Drupal_Views_Drupal 7_Drupal Views - Fatal编程技术网

Drupal 在page.tpl.php文件中获取视图名称 如何在page.tpl.php文件中获取当前视图名称? 细节:

Drupal 在page.tpl.php文件中获取视图名称 如何在page.tpl.php文件中获取当前视图名称? 细节:,drupal,views,drupal-7,drupal-views,Drupal,Views,Drupal 7,Drupal Views,如果我想在page.tpl.php中为某个节点应用特殊代码,我可以使用节点号 if($node->nid == 35){ //do something special for this node id } 但是views模块生成的页面没有nid,它们有一个视图名,如何使用php获得这个节点名,我需要得到类似这样的内容 if(//node-name == "view1") //do something special for this page genera

如果我想在page.tpl.php中为某个节点应用特殊代码,我可以使用节点号

if($node->nid == 35){
   //do something special for this node id
}
但是views模块生成的页面没有nid,它们有一个视图名,如何使用php获得这个节点名,我需要得到类似这样的内容

if(//node-name == "view1")
   //do something special for this page generated by views module
我现在使用一种变通方法,我使用current_path(),但我需要一个更可靠的解决方案,因为路径可能会改变


谢谢

当您编辑视图时,有一部分称为“主题信息”,其中显示了用于为视图或其组件设置主题的可能模板文件列表。

我找到了问题的答案(Drupal 7)

要获取page.tpl中的当前视图名称,请使用:

$page["#views_contextual_links_info"]["views_ui"]["view_name"]
要获取当前视图中的页面名称,请使用:

$page["#views_contextual_links_info"]["views_ui"]["view_display_id"]

谢谢你,Luis,我使用主题信息来呈现视图及其字段,但是我正在寻找一种更简单的方法,比如根据视图名称在页面中设置标志true或false。