Drupal 6 arg函数未使用URL别名

Drupal 6 arg函数未使用URL别名,drupal-6,Drupal 6,我正在运行Drupal6,并使用PHP实现块可见性 <?php $city = arg(0); $page = arg(1); if ($city == 'tampa' && $page != 'art'){ return 'TRUE'; } else{ return FALSE; } ?> 我在处理这段代码时遇到了问题,因此我决定插入: <?php print arg(0).arg(1); ?> 在my page.tpl.php中。我发现在

我正在运行Drupal6,并使用PHP实现块可见性

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

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

我在处理这段代码时遇到了问题,因此我决定插入:

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

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

然而,在其他页面上,例如我的日历,arg(0)实际上显示的是“坦帕”而不是“节点”


我过去经常使用这个,从来没有遇到过这个问题。Drupal在某些页面上忽略我的别名有什么原因吗?如果是这样的话,我该如何修复它呢?

我没有得到任何回应,但我想出了一个解决办法

$path = 'node' . "/" . $node->nid;
drupal_get_path_alias($path);
从那里我可以使用PHP字符串解析函数来获取实际的别名