新建栏目之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,可以在列管理中看到)。这个时候就可以看到了。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线