2014-04-24 50 views
0

我發佈了問題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函數,並且一個正常工作。

回答

0

奇怪。這應該按預期工作。 $ _GET ['q']是否在代碼中的某處被修改?嘗試從新鮮的Drupal安裝來實現主題化功能。 如果沒有完整的代碼,很難提供幫助。