Drupal区块路径设置的BUG

原创 2004年07月10日 19:07:00

Drupal区块路径设置,目的就要在不同的页面节点上显示不同的区块(block),在控制面板的区块设置里有一列名为PATH,就是它了。详见:Putting blocks with content in the sidebars

以前就研究过,未果,最近zephyr在drupal的官方论坛里问了这个问题,然后又去搜了一下,找到了这个:Block Paths and Path Aliases,证明了4.4.0版本在不使用clean url时,block path有BUG,killes@www.drop.org给出了这个patch:

Category: feature requests ? bug reports
Assigned to: Anonymous ? killes@www.drop.org
Status: active ? patch
Attachment: block.patch (922 bytes)

其实就是在block.module里找到并

删:      if ((($block['status'] && (!$user->uid || !$block['custom'])) || ($block['custom'] && $user->block[$block['module']][$block['delta']])) && (!$block['path'] || preg_match($block['path'], "/" . $_GET["q"]))) {

添:      if ((($block['status'] && (!$user->uid || !$block['custom'])) || ($block['custom'] && $user->block[$block['module']][$block['delta']])) && (!$block['path'] || preg_match($block['path'], "/" . $_GET["q"]) || preg_match($block['path'], str_replace('?q=', '/', request_uri())))) {

具体的表达式范例:

只在首页显示
<(/|index/.php)$>

只在?q=blog下的节点显示
<^//blog>

只在首页和?q=blog节点显示
<^//blog|(/|index/.php)$>

只在详细节点显示
<^//node/view>

其余同理,把节点名换下就可以了。

上面所述的表达式只针对drupal4.4版本,以前的版本略有不同,见Putting blocks with content in the sidebars ,have fun!

在Drupal中灵活使用区块代码

$block = module_invoke('modules', 'block', 'view', 0);             print $block['title'];          ...
  • railsbug
  • railsbug
  • 2014年06月26日 12:29
  • 745

drupal区块的创建和调用

drupal中页面划分为区块和内容,在page.tpl.php或者page--slh-linghang--slh-linghang-list.tpl.php中的页面调用创建的区块          ...
  • gpf02
  • gpf02
  • 2016年02月26日 13:55
  • 151

在Drupal 7中添加区块时,不能使用PHP代码的原因与解决办法

今天使用Drupal 7添加区块时,居然不能使用PHP代码,文本格式一栏只有“Filtered HTML”等三个选项! 原因如下: Drupal 7的核心使用了新的...
  • wjc19911118
  • wjc19911118
  • 2012年06月27日 17:37
  • 1989

drupal 中添加广告

Drupal中添加广告,这次在项目中用到drupal的原因是需要一个CMS系统。找了很多,做了对比,国内有帝国CMS,PHPCMS,ThinkCMF等开源的软件。Drupal是一个开源的国外CMS系统...
  • yanchangyufan
  • yanchangyufan
  • 2015年09月10日 19:18
  • 431

Drupal 处理一个url请求流程

参考《Drupal专业开发指南》p16,或者查看drupal到index.php文件了解详细信息。 1.引导指令流程,调用drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL)...
  • iefcu
  • iefcu
  • 2011年01月02日 12:55
  • 2472

Drupal主导航菜单样式的修改与定制…

如果设计好的导航代码是这样的:               如果要把Drupal主菜单栏默认输出的样式修改成自己的想要的就要覆写一下菜单的输出。如果不会用PHP和Drupal的函数覆写,那...
  • u011848751
  • u011848751
  • 2014年06月04日 08:51
  • 1317

解决Drupal一级或者多级菜单的模块…

https://drupal.org/project/dhtml_menu Menu" TITLE="解决Drupal一级或者多级菜单的模块DHTML Menu" /> 安装模块后更新缓存,后台-设...
  • u011848751
  • u011848751
  • 2014年06月04日 08:51
  • 406

drupal7视频教程-drupal区块

区块包含一个标题和一个描述,主要用于广告、代码片段和状态指示器,它不适用于主内容片段;因此,区块不是节点,它与节点有着不同的规则。节点可以具有多种功能:修订本控制,完善的访问权限,附带评论的能力,RS...
  • xiamenjiang
  • xiamenjiang
  • 2012年05月11日 00:41
  • 486

Drupal 引入JS文件的几种方式

1、在 theme.info 中,通过增加 scripts 节点的方式增加JS文件,如 scripts[] = foo.js 2、在 template.php 中,DP提供了以下文件来加载JS文件 D...
  • w_yunlong
  • w_yunlong
  • 2015年12月29日 11:59
  • 2327

云客Drupal8源码分析之php流Streams、公共文件、私有文件

在开始这个主题前我们做一个实验,在你的drupal8模块控制器中加一行代码: file_put_contents("public://yunke.txt","Streams test"); 然后访问这...
  • u011474028
  • u011474028
  • 2016年10月15日 17:23
  • 1289
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Drupal区块路径设置的BUG
举报原因:
原因补充:

(最多只允许输入30个字)