为了有利于搜索引擎优化(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。
评论