新建栏目之show,规则管理添加URL规则
优采云 发布时间: 2021-07-14 22:30新建栏目之show,规则管理添加URL规则
一般需要先添加url规则。系统设置>相关设置>URL规则管理>添加URL规则
如图所示:
内容页必须命名为show,否则新建栏时无此选项。如果您执行以下操作,您将在创建新列时看到以下内容:
然后我们成功地做到了这一点。
以下是其他网友整理的一些参数说明:
首先要建立自己的URL规则,先了解一些定义和变量的含义。首先在这里进入URL规则管理,会看到如下内容(进入方法:“系统设置”-“RUL规则管理”-“管理RUL规则”)
这是在 PHPcms2008 中定义的
一、module
模块点:PHPcms、ask、topic等
也就是说,你接下来要建立的RUL规则是应用到哪个模块,然后你要选择哪个。这里特别提醒一下,在创建 URL 规则时不要选择“无限”。按照PHPcms的本义,它可以应用于任何模块,但是在我实际操作中发现,如果没有选择限制的话,那么在里面是看不到你选择的URL规则的其他型号。
二、名
这里的名称是PHPcmssub category(列表页)、show(详细页)、htmlshow(询问详细页)、htmlcategory(询问列表页)。
这里需要注意的一点,如果你当前正在定义你想要应用到图片模块列表页面的URL规则,那么你必须在这里的URL名称中写上category,否则你看不到你在模块设置中。定义的 URL 规则。
三、HTML
定义URL规则时,有一个可选项,静态URL规则:为静态页面调用生成URL规则。您选择“是”或“否”,这意味着如果选择是,那么您的规则是生成静态页面,相反,选择否。
四、URL 示例
这里有一些您想要的 URL 形式。您可以随心所欲地编写它们,只要您认识到这是您的规则的形式。但是你必须写它。否则,你会发现在模型设置中,为什么看不到我定义的规则名称。此示例用作名称。
在定义RUL规则之前,必须先了解以上四点,然后再了解那些变量的含义。
1、{$parentdir}{$catdir} ---含义:当前列目录的名称;
2、{$catid} ----含义:列ID号;
3、.{$fileext}---含义:.htm(注意这里前面加了一个“.”符号l;
4、{$year} ----含义:年份;
5、{$month} --含义:月;
6、{$day} -----含义:天;
更多详情如下:
按照后台系统设置->相关设置->URL规则管理中列出的URL规则进行编译。
请修改下面使用的示例。
样本列:
新闻资讯
|___国内
|___国际间
|___美国美国
1、URL 规则使用的变量 {$catid} 的列 id。示例:形状为 1、10 等
{$categorydir} 列目录树(相对于phpcms安装目录)。例如:如果是一级目录,则为/news/,二级目录为/news/china/,三级目录为/news/inter/usa
{$catdir} 列目录。例如:如果是一级目录,则为/news/,二级目录为/china/,三级目录为/usa/
{$year} {$month} {$day} 年月日。 文章发布时间的年月日。
{$page} 页码。 文章分页时的页码。
{$fileext} 静态页面扩展。由网站configuration -> 生成的扩展定义。
{$contentid}文章id.
以下为专题模块
{$typeid} 类别 ID
{$typedir} 类别目录
{{$filename} 主题名称
{$specialid}特殊 ID
求,求求,最好不要修改
{$action} 操作
2、URL 规则库字段说明
Module:属于模块,如有问题,话题,phpcms。
URL规则名称:这个名称应该是URL规则应用的范围,比如对于栏目页(catalogs)、内容页等,一般使用show(内容页)、category(栏目页)
Generate Html:是否生成html。与写的 URL 规则相关。
URL 规则/URL 示例:这是本文的重点。
3、应用示例
特别注意:定义url时,应该在页面URL中添加{$page}变量。两条规则用|分隔。
(1)官方展示
{$catdir}/index.{$fileext}|{$catdir}/{$page}.{$fileext}
{$categorydir}/{$year}/{$month}{$day}/{$contentid}.{$fileext}|{$categorydir}/{$year}/{$month}{$day} /{$contentid}_{$page}.{$fileext}
(2)一例
创建一个类似 /news/article_1_2.html 的规则
{$catdir}/article_{$contentid}.{$fileext}|{$catdir}/article_{$contentid}_{$page}.{$fileext}
如果选择目录树,{$catdir} 改为 {$category}
(3)Extended 功能(正式版未测试)
当定义为动态时,那么栏目和内容页的形式是/list.php?, /show?在phpcms目录下,如果希望url规则为/news/show.php?id=,如何操作news/index.php?
首先想到的就是定义url规则,比如
列页面{$catdir}/index.php|{$catdir}/index.php?page={$page}
内容页{$catdir}/show.php?contentid={$contentid}|{$catdir}/show.php?contentid={$contentid}&page={$page}
定义完成后,问题来了。创建的目录下没有index.php和show.php文件,怎么办?
将list.php复制到对应目录,重命名为index.php。对 show.php 执行相同的操作。这两个文件在phpcms目录下。
这时候看看已经输入的内容,会提示错误,路径不对,把show.php的第一句改成
需要‘../include/common.inc.php’;这个是根据一级目录改的
下面还有几个要求,做相应的修改即可。我没有改变它们,也没有报告任何错误。修改后再次浏览(后台点击文章title)打开。
修改复制进去的index.php
如上修改第一句。因为自定义URL规则不带catid参数,改$catid = intval($catid); to $catid = 5(这里是你要更改的列的id,可以在列管理中看到)。这个时候就可以看到了。