我發佈了問題https://drupal.stackexchange.com/questions/111080/current-path-inside-theme-menu-link-returns-previous-path但沒有得到太多的迴應。由於這是更多的編程相關,我想在這裏嘗試。current_path()裏面的theme_menu_link返回前一個路徑
我想根據當前頁面隱藏/顯示菜單鏈接。我已將以下代碼段添加到我的template.php文件下mytheme文件夾中。
/**
* Implements theme_menu_link().
*/
function mytheme_menu_link(array $variables) {
$path = current_path();
debug($path);
//Do things based on $path
}
我觀察到$ PATH值的一個很奇怪的輸出。我會盡量插畫將我mytheme_menu_link裏面的一張桌子
Time | Url | displayed $path value
1 | mysite/link1 | none
2 | mysite/link2 | link1
3 | mysite/link3 | link2
它看起來像「的current_path()」函數調用總是返回以前的路徑。我花了整整一天的Google搜索,沒有看到任何類似於我的情況。
有人能告訴我什麼是可能的原因以及如何避免它?
謝謝!
PS:我有另一個調用current_path()mymodule_block_list_alter函數,並且一個正常工作。