Drupal 7 在Drupal7中,如何使块在用户视图页面上可见,但在用户编辑页面上不可见?
在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) ==
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
的任何允许值)。如果您不熟悉如何使用,请查看我对问题“”的回答(请注意我在其中包含的示例规则中包含的正则表达式)。我没有弄清楚如何以编程方式从“用户编辑”视图中删除块,但是上下文模块允许我向每个用户配置文件页面添加一个块。为了完成这项工作,我还必须删除该块的原始“仅列出页面设置”。在用户编辑页面上呈现视图块之前,我仍然想知道调用哪个钩子来删除视图块。我不知道如何以编程方式从用户编辑视图中删除块,但上下文模块允许我向每个用户配置文件页面添加块。为了完成这项工作,我还必须删除该块的原始“仅列出页面设置”。我仍然想知道在用户编辑页面上呈现视图块之前,调用哪个钩子来删除视图块。