只使用Unique ID作为K2 Item的URL

在中文网站环境中,对于url的使用会有英文网站环境有比较大的区别,例如标题和别名的使用。为了方便网站的管理,很多中文网站的url都是使用纯数字的格式,如果使用了k2的joomla网站,如何使文章的url格式变成纯数字呢?

一、安装并启用sh404SEF

因为sh404SEF对于k2的url优化应该是最优秀的,而且k2面板的高级配置区域有sh404SEF的集成选项设置,所以推荐使用sh404SEF。

二、设置k2参数

进入k2控制面板的页面,点击右上角的“参数”,在弹出的设置区域中设置如下:

高级 - 集成sh404SEF - 针对项目的sh404SEF类别URL前缀 
选择“没有类别”

高级 - 集成sh404SEF - Unique ID
选择 “是”

三、修改k2文件

修改components/com_k2/sef_ext/com_k2.php文件,删除或者注释Item的标题别名的代码:

在178行附近,找到如下代码:

if ($sh404SefInsertItemId)
{
$title[] = $row->id.'-'.$row->$sh404SefTitleAlias;
}
else
{
$title[] = $row->$sh404SefTitleAlias;
}

然后将其注释

/** if ($sh404SefInsertItemId)
{
$title[] = $row->id.'-'.$row->$sh404SefTitleAlias;
}
else
{
$title[] = $row->$sh404SefTitleAlias;
}
*/

这样,k2文章的URL就成为了纯数字的网址。

四、注意事项

  1. 使用前后,建议应用sh404SEF的网址管理中的清除功能,使网址更新;
  2. 因为修改了k2的核心文件,所以k2升级后,需要再次进行修改。

更新日期:2016年1月1日

在新的K2版本,具体是哪个版本我也不太记得,就当是2.7.x起吧,K2已经内置了相关功能。所以现在你不需要修改任何文件,也不需要安装额外的插件,也可以实现只使用Unique ID作为K2 Item的URL的功能。

具体的操作方法如下:

  1. 登录网站后台;
  2. 进入K2的管理界面;
  3. 点击右上角的参数;
  4. 点击“高级”选项卡;
  5. 在“Advanced SEF Settings”区域,“Enable advanced SEF for K2 URLs”的选项选择“是”;
  6. “Use the item title alias”选择“否”。