我已在https://drupal.stackexchange.com/questions/111080/current-path-inside-theme-menu-link-returns-previous-path发布了该问题,但没有得到多少回复。由于这与编程有关,我想在这里试一试。
我正在尝试隐藏/显示基于我当前页面的菜单链接。我已将以下代码段添加到 mytheme 文件夹下的 template.php 文件中。
/**
* Implements theme_menu_link().
*/
function mytheme_menu_link(array $variables) {
$path = current_path();
debug($path);
//Do things based on $path
}
我观察到一个非常奇怪的$ path值输出。我会尝试插画家将一张桌子
Time | Url | displayed $path value
1 | mysite/link1 | none
2 | mysite/link2 | link1
3 | mysite/link3 | link2
它看起来像" current_path()" mytheme_menu_link里面的函数调用总是返回上一个路径。我花了一整天的谷歌搜索,没有看到任何类似于我的情况。
有人可以告诉我可能的原因是什么以及如何避免它?
谢谢!
PS:我在 mymodule_block_list_alter 函数中有另一个current_path()调用,并且该函数正常工作。
答案 0 :(得分:0)
奇怪。这应该按预期工作。是否在代码中的某处修改了$ _GET [' q']?尝试从新的Drupal安装来实现主题功能。 如果没有完整的代码,就很难对此有所帮助。