Phpcms 2008 beta应用小技巧

这是我发表在phpcms官方论坛上的一些文章,转发到我的博客上。

 

1、自定义url规则

和phpcms2007不同,2008的规则是保存在数据库里的。

定义如下:

语句用:
INSERT INTO `phpcms_urlrule` ( `module`, `file`, `ishtml`, `urlrule`, `example`) VALUES
( ‘phpcms’, ‘category’, 0, ‘{$catdir}/index.php?catid={$catid}|list.php?catid={$catid}&page={$page}’, ‘info/index.php?catid=1&page=2’);
各字段说明
module   模块
file   目录还是内容页(show、category)
ishtml   是不是静态页 (1是静态0是动态)
urlrule  url规则,参考2007版
example 示例
在系统设置->数据库->执行Sql里执行
估计官方会出在后台里添加一个url规则的管理工具

2、让show.php到子栏目下

比如建立了分类信息栏目,目录为info

则把根目录的show.php复制进去,然后更改第一句
require ‘../include/common.inc.php’;
就行了
结合第一条 自定义url规则 相应更改链接方式为动态 /info/show.php?contentid=*,就可以了
urlrule目前好像只能在数据库里更改,相信官方有更方便的方法

3、为了Seo,去掉栏目链接的index.html,同样适应于2007版本

适合Seo,让栏目的链接变成http://localhost/news/而不是http://localhost/news/index.html
没有找到设置的地方,只能从模板里改动一下了,注意红色的部分
像其它需要调用栏目链接的地方,也要改一下,如导航
{php $data = subcat($module, $catid);}
{loop $data $n $r}
<li><a href=”{$str_replace(“index.html”,””,$r[url])}” target=”{$target}”><span>{$r[catname]}</span></a></li>
{/loop}

4、关于2008的分页标题的一点说明

要在内容的开头也要写上[page]分页标题[/page]才可以分页,才能正确分页,不知道是不是Bug。
一般分页用[page]
如果要加上标题,就用[page]分页标题[/page]
注意:用标题的时候要在内容开头也写上[page]分页标题[/page],否则会将第一页内容作为标题,而内容为空,这时第一页的标题,不再是原文章标题,而是你的分页标题

5、让用户登陆才能查看内容的设置方法

先把该信息模型设置为不生成html,结合本文第1、2条,然后改模板:
{if ($_userid>0)}(这里添加条件,同理,让特定的会员组访问,条件就是$_groupid)
<h3>发布人信息</h3>
<ul class=”contact”>
  <li>联系人:{$userid} <a href=”{$MODULE[space][url]}?{$r[userid]}” class=”red icon_3″>查看该用户发布的所有信息</a></li>
  <li>电话:{$telephone}</li>
  <li>邮箱:{$email}</li>
  <li>地址:{$address}</li>
</ul>
{else}
没有登陆{$_userid}
{/if}

发表评论

电子邮件地址不会被公开。 必填项已用*标注