我有一個面板頁設置路徑node/%node/foo
和所有工作正常,當我訪問一個鏈接,如node/6/foo
。但是,當我訪問nodealias/foo
時,它根本不起作用。這樣可以讓面板與pathauto一起工作嗎?Drupal面板頁Pathauto
我想我可能不得不實施掛鉤hook_url_inbound_alter並自己更改網址。
我也貼在面板模塊在這裏支持請求:http://drupal.org/node/1219796
我有一個面板頁設置路徑node/%node/foo
和所有工作正常,當我訪問一個鏈接,如node/6/foo
。但是,當我訪問nodealias/foo
時,它根本不起作用。這樣可以讓面板與pathauto一起工作嗎?Drupal面板頁Pathauto
我想我可能不得不實施掛鉤hook_url_inbound_alter並自己更改網址。
我也貼在面板模塊在這裏支持請求:http://drupal.org/node/1219796
我使用下面的代碼修復了這個問題,您需要更改模式以匹配您的url別名模式並更改函數名稱以匹配模塊名稱。
function brooklands_url_inbound_alter(&$path, $original_path, $path_language) {
$pattern = '#^works\/[A-Za-z0-9]+(-[A-Za-z0-9]+)*\/images(\/\d+)?$#';
if(preg_match($pattern, $original_path)) {
$snip = substr($original_path, 0, strrpos($original_path, '/images'));
$system_path = drupal_lookup_path('source', $snip);
if($system_path) {
$tail = substr($original_path, strrpos($original_path, '/images'));
$path = $system_path . $tail;
}
}
}
的nodealias與NID = 6的節點的全部別名。第三個參數(foo)通過由面板模塊的hook_menu()添加到確切的別名(node /%nid /%anythingelse),並且不會應用於別名的URL,因此您不能使用nodealias/foo url來訪問只是因爲它不被面板模塊「掛鉤」。 我認爲,手動更改網址是一個好主意。
由於阿列克謝答案面板不關心的別名,它只能看到節點/%NID 下面是有效還是爲D7一個很好的解釋: http://drupal.org/node/211338 總結,並把它最新的D7: 出口您創建的面板的變體,並將其導入到覆蓋Drupal中的默認節點顯示的面板中。 將變體添加到變體中,以便面板/變體僅用於您希望使用此變體顯示的內容類型。 瞧:)(在鏈路閱讀的討論,否則摘要將很難理解)
希望這有助於 - 我自己也花一些時間google搜索,並試圖瞭解這一點,我也被這樣的事實感到困惑該視圖確實關心別名...
同樣在這裏,我有這個問題搏鬥了更多的時間比我會承認,因爲在意識到之前我已經對別名作出了同樣的假設。 – Ashlar