為了有利于搜索引擎優化(SEO),有時修改頁面标題(Title)是很必要的,在MediaWiki中我一般是修改新建頁面的标題來實現,但無法修改已經存在頁面的标題,在Drupal中前一陣子找到一個第三方模塊“Page Title”可以實現在Title中插入Node參數、CCK字段等信息,還算是方便,但無法插入需要變換的内容。為了實現插入沒有的CCK字段内容,我還嘗試過專門設立幾個Computed字段作為過渡,不過這樣還是有些麻煩。
前兩天找了叫“drupal_set_title”的函數,既然是直接調用php函數,那就可以靈活實現各種需求了,例如在Views的Basic Setting - Header中插入php代碼:
drupal_set_title("$area_english ($area) Area List (地區列表)");
就可以把需要的兩個變量$area_english和$area設置到Views的Title中。還可以通過block中插入php代碼來修改各種分類頁的Title等,夠強大了,那個“Page Title”模塊也可以卸載掉。
2017年8月17日補充:Drupal 7的Views裡面Header使用drupal_set_title函數無效,需要改為Header添加Global PHP:$view->set_title($title); 才行。
2019年11月26日補充:如果報錯set_title不能用,就需要先用$view = views_get_current_view();來獲取當前views。
评论