我想將Drupal的帖子導出到Wordpress(這本身就是一件麻煩事)。我無法弄清楚如何維護博客文章的URL。其中一些是自定義的:如何從Drupal數據庫獲得發佈slu 012
博客標題爲土壤故事是blog/2012/03/03/soil-story
在Drupal。一個名爲Welcome John Doe的只是/john
是否有Drupal函數來製作這些網址?它在哪裏存儲定製的博客文章?
我想將Drupal的帖子導出到Wordpress(這本身就是一件麻煩事)。我無法弄清楚如何維護博客文章的URL。其中一些是自定義的:如何從Drupal數據庫獲得發佈slu 012
博客標題爲土壤故事是blog/2012/03/03/soil-story
在Drupal。一個名爲Welcome John Doe的只是/john
是否有Drupal函數來製作這些網址?它在哪裏存儲定製的博客文章?
我發現url_alias表Drupal數據庫,和我跑這條SQL語句:現在
UPDATE `url_alias`
SET src=SUBSTRING_INDEX(`src`, '/', -1),
dst=SUBSTRING_INDEX(`dst`, '/', -1)
WHERE 1
SRC是NID現在DST是蛞蝓。我可以重命名它們,然後INSERT INTO wp_posts
作爲post_name
您可以使用url
方法獲取URL別名。
$url = url('node/' . $nid);
您應該能夠通過使用drupal_lookup_path
以獲取一個節點的別名:
// alias: return an alias for a given Drupal system path (if one exists).
$alias = drupal_lookup_path('alias', $node->nid);
Drupal的手冊:drupal_lookup_path或者相反,從別名查找節點/內部路徑:drupal_get_normal_path。
看起來Rawkode發佈的url function函數的功能差不多,所以我想它歸結於您的個人偏好。
另見:http://daipratt.co.uk/how-to-get-the-path-of-a-node-from-the-node-id-in-drupal/
我發現上述非常有幫助,因爲我希望從數據庫中獲得我所需要的內容,而不是使用函數。它給了我一個很好的起點,但是運行它時,它只是出錯,因爲它們不是正確的列名。請記住,這個更新了一些東西,如果你沒有在數據庫的副本上工作,它將會破壞所有的東西。此代碼將解決這個問題:因爲即時通訊在地方做的事情並不大
UPDATE `url_alias`
SET source=SUBSTRING_INDEX(`source`, '/', -1),
alias=SUBSTRING_INDEX(`alias`, '/', -1)
WHERE 1
我只是增加兩個NID和蛞蝓,然後運行這個查詢
UPDATE `url_alias`
SET nid=SUBSTRING_INDEX(`source`, '/', -1),
slug=SUBSTRING_INDEX(`alias`, '/', -1)
WHERE 1