arg函数不使用URL别名

时间:2010-04-26 15:43:07

标签: drupal-6

我正在运行Drupal 6,我正在使用PHP进行块可见性。

<?php
$city = arg(0);
$page = arg(1);

if ($city == 'tampa' && $page != 'art'){
return 'TRUE';
}
else{
return FALSE;
}
?>

我遇到了这段代码的问题,所以我决定插入:

<?php print arg(0).arg(1); ?>

在我的page.tpl.php中。我发现在我的一些页面上,当URL实际上是'tampa'时,arg(0)显示'node',当然,arg(1)显示节点ID。

但是,在其他页面上,例如我的日历,arg(0)实际上显示的是'tampa'而不是'node'。

我过去经常使用这个,并且从未遇到过这个问题。有没有理由为什么Drupal在某些页面上无视我的别名?如果是这样,我该如何解决?

1 个答案:

答案 0 :(得分:1)

我没有得到任何回复,但我做了一个黑客。

$path = 'node' . "/" . $node->nid;
drupal_get_path_alias($path);

从那里我可以使用PHP字符串解析函数来获取实际的别名。