希望将 categories 改为别的。
http://vanillaforums.cn/categories/xxxx
改为
http://vanillaforums.cn/c/xxxx
刚才试验了一下,可行。过程如下。
1 . 在后台"管理路径"页面(/dashboard/routes),点击“添加路径”,表单中“路径”填写c/(.*), “目标”填写categories/$1,类型选择“内部”(internal),并提交。如图
此时在浏览器输入 {域名}/c/{分类url} 已经可以访问分类页面,但是页面中的链接仍然是{域名}/categories/{分类url}
2 . 查看源码,我们可以发现,显示分类页面的路径是用一个叫做CategoryUrl的函数,注意这句, if (!function_exists('CategoryUrl')): 所以我们可以覆盖这个函数定义。那么,在conf文件夹中新建bootstrap.before.php文件(如果已存在则不用),在这个文件中重写这个函数,把"categories"改为你想要的路径前缀名称,此例为c
if (!function_exists('CategoryUrl')):
function CategoryUrl($Category, $Page = '', $WithDomain = TRUE) { if (is_string($Category)) $Category = CategoryModel::Categories($Category); $Category = (array)$Category; $Result = '/c/'.rawurlencode($Category['UrlCode']); if ($Page && $Page > 1) { $Result .= '/p'.$Page; } return Url($Result, $WithDomain); }
此时网站页面中的分类链接也已经改为{域名}/c/{分类url} 的形式
THX
BTW,我在Github发了2个Issue
@6b79 好的,谢谢
@chuck911 好像Issue5是核心模版问题。我看了英文版也有这个问题。不过,Orchid模版还有几处CSS有待完善。
@6b79 我待会儿完善一下。meta charset加在当前主题文件夹的views/default.master.tpl 里面也可以
THX Issue4 我已经发了一个pr
回复
刚才试验了一下,可行。过程如下。
1 . 在后台"管理路径"页面(/dashboard/routes),点击“添加路径”,表单中“路径”填写c/(.*),
“目标”填写categories/$1,类型选择“内部”(internal),并提交。如图
此时在浏览器输入 {域名}/c/{分类url} 已经可以访问分类页面,但是页面中的链接仍然是{域名}/categories/{分类url}
2 . 查看源码,我们可以发现,显示分类页面的路径是用一个叫做CategoryUrl的函数,注意这句,
if (!function_exists('CategoryUrl')):
所以我们可以覆盖这个函数定义。那么,在conf文件夹中新建bootstrap.before.php文件(如果已存在则不用),在这个文件中重写这个函数,把"categories"改为你想要的路径前缀名称,此例为c
此时网站页面中的分类链接也已经改为{域名}/c/{分类url} 的形式
THX
BTW,我在Github发了2个Issue
@6b79 好的,谢谢
@chuck911 好像Issue5是核心模版问题。我看了英文版也有这个问题。不过,Orchid模版还有几处CSS有待完善。
@6b79 我待会儿完善一下。meta charset加在当前主题文件夹的views/default.master.tpl 里面也可以
THX Issue4 我已经发了一个pr