Drupal 7 在Drupal7中,如何使块在用户视图页面上可见,但在用户编辑页面上不可见?

Drupal 7 在Drupal7中,如何使块在用户视图页面上可见,但在用户编辑页面上不可见?,drupal-7,hide,visibility,block,Drupal 7,Hide,Visibility,Block,在Drupal7中,我向用户页面的内容区域添加了一个块。我通过指定 user/* 在可见性设置->页面->在特定页面上显示块->仅列出页面设置中 但是,由于通配符接受任何内容,现在块显示在用户的编辑页面上 是否有单个数字通配符,如 user/%integer 我可以在这里使用,以便块只显示在用户视图页面上 如何在Drupal 7的用户编辑页面上隐藏此块?您可以尝试启用PHP筛选器模块,以便在块可见性设置页面上输入PHP。 在那里你可以检查像这样的论点 <?php if(arg(0) ==

在Drupal7中,我向用户页面的内容区域添加了一个块。我通过指定

user/*

在可见性设置->页面->在特定页面上显示块->仅列出页面设置中

但是,由于通配符接受任何内容,现在块显示在用户的编辑页面上

是否有单个数字通配符,如

user/%integer

我可以在这里使用,以便块只显示在用户视图页面上


如何在Drupal 7的用户编辑页面上隐藏此块?

您可以尝试启用PHP筛选器模块,以便在块可见性设置页面上输入PHP。 在那里你可以检查像这样的论点

<?php 
if(arg(0) == 'user' && arg(2) != 'edit' )
return true;
else 
return false 
?> 

您可以尝试启用PHP过滤器模块,以便在块可见性设置页面中输入PHP。 在那里你可以检查像这样的论点

<?php 
if(arg(0) == 'user' && arg(2) != 'edit' )
return true;
else 
return false 
?> 

现在还有另一种选择不需要启用PHP过滤器(您应该尽可能避免启用)。。。只需使用模块。以下是其项目页面中的引用:

规则块可见性模块允许使用组件控制块可见性。除了Drupal提供的默认可见性选项外,这为Drupal管理员和开发人员提供了极大的灵活性,可以控制何时在其网站上显示块

一般的想法是,如果可以使用规则执行,则可以使用它来控制块可见性,因此可能性是无限的

需要仅为一个多月前注册的用户显示块吗

也许您有一个街区必须在工作日上午8点到下午5点之间才能显示

根据当前天气条件显示或隐藏块怎么样

所有这些都可以通过使用规则块可见性来完成


根据上面的“如果您可以使用规则执行,那么您可以使用它来控制块可见性”,您将问题简化为拦截某人使用URL(如
/user/*/edit
)的情况(此处将
*
替换为
uid
的任何允许值)。如果您不熟悉如何使用,请查看我对问题“”的回答(请注意我在其中包含的示例规则中包含的正则表达式)。

如今,还有另一种选择不需要启用PHP过滤器(您应该尽可能避免启用)。。。只需使用模块。以下是其项目页面中的引用:

规则块可见性模块允许使用组件控制块可见性。除了Drupal提供的默认可见性选项外,这为Drupal管理员和开发人员提供了极大的灵活性,可以控制何时在其网站上显示块

一般的想法是,如果可以使用规则执行,则可以使用它来控制块可见性,因此可能性是无限的

需要仅为一个多月前注册的用户显示块吗

也许您有一个街区必须在工作日上午8点到下午5点之间才能显示

根据当前天气条件显示或隐藏块怎么样

所有这些都可以通过使用规则块可见性来完成


根据上面的“如果您可以使用规则执行,那么您可以使用它来控制块可见性”,您将问题简化为拦截某人使用URL(如
/user/*/edit
)的情况(此处将
*
替换为
uid
的任何允许值)。如果您不熟悉如何使用,请查看我对问题“”的回答(请注意我在其中包含的示例规则中包含的正则表达式)。

我没有弄清楚如何以编程方式从“用户编辑”视图中删除块,但是上下文模块允许我向每个用户配置文件页面添加一个块。为了完成这项工作,我还必须删除该块的原始“仅列出页面设置”。在用户编辑页面上呈现视图块之前,我仍然想知道调用哪个钩子来删除视图块。我不知道如何以编程方式从用户编辑视图中删除块,但上下文模块允许我向每个用户配置文件页面添加块。为了完成这项工作,我还必须删除该块的原始“仅列出页面设置”。我仍然想知道在用户编辑页面上呈现视图块之前,调用哪个钩子来删除视图块。