drupal 代碼實現(xiàn)URL重寫
更新時間:2011年05月04日 00:41:29 作者:
開啟了url_alter后,將實現(xiàn)兩個HOOK,hook_url_inbound_alter與hook_url_outbound_alter,作用是重寫URL,第三方URL重寫模塊都需要實現(xiàn)它。
以下是實現(xiàn)例子:
/*
* 偽地址轉原地址 (url_alter)
*/
function example_url_inbound_alter(&$path, $original_path, $path_language)
{
if (preg_match('|^article(/.*)|', $path, $matches)) {
$path = 'node'. $matches[1];
}
}
/*
* 原地址轉偽地址 (url_alter)
*/
function example_url_outbound_alter(&$path, &$options, $original_path)
{
if (preg_match('|^node(/.*)|', $path, $matches)) {
$path = 'article' . $matches[1];
}
}
PS: 實現(xiàn)hook_url_inbound_alter時不知為何會調不出實現(xiàn)函數(shù),可能因為HOOK過早加載,沒有把module加載完全。所以我的做法是寫在URL重寫模塊中,例如subpath_alias
復制代碼 代碼如下:
/*
* 偽地址轉原地址 (url_alter)
*/
function example_url_inbound_alter(&$path, $original_path, $path_language)
{
if (preg_match('|^article(/.*)|', $path, $matches)) {
$path = 'node'. $matches[1];
}
}
/*
* 原地址轉偽地址 (url_alter)
*/
function example_url_outbound_alter(&$path, &$options, $original_path)
{
if (preg_match('|^node(/.*)|', $path, $matches)) {
$path = 'article' . $matches[1];
}
}
PS: 實現(xiàn)hook_url_inbound_alter時不知為何會調不出實現(xiàn)函數(shù),可能因為HOOK過早加載,沒有把module加載完全。所以我的做法是寫在URL重寫模塊中,例如subpath_alias
相關文章
php調用mysql數(shù)據(jù) dbclass類
php調用mysql數(shù)據(jù)數(shù)據(jù)庫操作類,dbclass類,需要的朋友可以參考下。2011-05-05