phpcms小功能小诀窍汇总
[ 2016/10/05, Phpcms , 5039阅, 1评 ]

1.单页优先使用本栏目图片,若本栏目没有图片,则使用父栏目的栏目图,否则使用css定义的默认图片

<div class="banner"{if $CATEGORYS[$catid][image]} style="background:url({$CATEGORYS[$catid][image]})"{else} style="background:url({$CATEGORYS[$parentid][image]})"{/if}></div>
三种结果:
<div class="banner" style="background:url({$CATEGORYS[$catid][image]})"></div>
<div class="banner" style="background:url({$CATEGORYS[$parentid][image]})"></div>
<div class="banner"></div>

2.获取当前文章的地址(url)

在phpcms中{$url}用来获取当前文章网址,在动态页或伪静态中能够正确获取,但是当我们把内页设置为纯静态时,{$url}就失效了。这时在模板当中使用下面的代码便可解决了:

{go($catid,$id)}
$catid栏目id,$id文章id(可以获取任何文章的URL地址)

3.更改登录/注册界面验证码字符的位数

QQ截图20170122105554.jpg

\phpcms\templates\default\member\login.html与\phpcms\templates\default\member\register.html中,找到:

{form::checkcode('code_img', '5', '14', 120, 26)}

其中的“5”即是验证码字符的长度,改成想要的长度即可,例如4。

4.推荐位调用自定义字段

7e131453266112.png

编辑自定义字段,找到 在推荐位标签中调用 选择 是,而后再编辑一次被推荐的文章即可生效。

5.判断文章发布时间段并加图标或css样式

当天:{if time()-$r[inputtime]<1*24*60*60}图标或css样式{/if}
三天:{if time()-$r[inputtime]<3*24*60*60}图标或css样式{/if}
一周:{if time()-$r[inputtime]<7*24*60*60}图标或css样式{/if}
一个月:{if time()-$r[inputtime]<30*24*60*60}图标或css样式{/if}
三个月:{if time()-$r[inputtime]<90*24*60*60}图标或css样式{/if}

6.phpsso忘记密码的解决方法

打开对应的数据库,然后把v9_admin表中的后台登录密码复制到v9_sso_admin表中,再把v9_admin表中的encrypt值复制到v9_sso_adminz中。新密码就是你后台管理员的密码了。

亦或者你连后台管理员的密码都忘了?没关系,本地装一个phpcms程序,把本地的密码和encrypt值放进去就OK。

7.模板中调用站点名称(表v9_site中的字段值)

把<?php $SITES = getcache('sitelist','commons'); ?>放到模板header.html最顶部,然后模板中用:

{$SITES[$siteid][name]}
{$SITES[$siteid][domain]}
{$SITES[$siteid][site_title]}
{$SITES[$siteid][keywords]}
{$SITES[$siteid][description]}
...

8.提交表单后返回上一页

程序默认的是提交表单后直接跳转到首页,这样很是不友好,那么怎么让它返回到上一页呢?

找到\phpcms\modules\formguide\index.php这个文件,将其中的showmessage(L('thanks'), APP_PATH);改为showmessage(L('thanks'), HTTP_REFERER); 即可。(APP_PATH是网站动态域名,也就是首页;HTTP_REFERER 是页面来源的意思,也就是从哪里来回哪里去。)

9.调用单页内容

{pc:get sql="SELECT * FROM v9_page where catid=2"}
{loop $data $key $val}
<p>catid为2的单页的内容:</p>
{$val[content]}
{str_cut(strip_tags($val[content]),600,"")}
{/loop}
{/pc}

10.单页栏目作为顶级栏目时的一点瑕疵的解决方法

phpcms的单页面并不够完善,因为做频道的时候,不能编辑,当单页面含有子页面的时候,这个频道单页面只能在导航中隐藏,而很多时候,我们又需要在导航中显示出来,这个时候,就需要处理这个问题了。

a.为这个频道页面做一个另外的单页面模板,如命名为page_category.html,然后在这个模板文件中手动写上需要的文字,添加上需要的图片。

b.修改后台内容管理,使得单页面做频道的时候,也可以编辑内容。具体参见( phpcms v9单页作为栏目和顶级栏目无法编辑栏目内容的解决方法

c.在page.html模板的顶部加上判断当前页面是否是单页面频道,如果是直接跳转到子页面上。具体代码如下:

<?php
if($catid==1){
  header("Location:index.php?m=content&c=index&a=lists&catid=2");
}
?>
xampp常用配置方法总结
游青羊宫

有朋自远方来...评论一下呗O(∩_∩)O

  • 评论(1)

    天津网站建设 [ 回复 ]
    2019-02-14 14:32

    很实用的小技巧,感谢博主哦