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.更改登录/注册界面验证码字符的位数
\phpcms\templates\default\member\login.html与\phpcms\templates\default\member\register.html中,找到:
{form::checkcode('code_img', '5', '14', 120, 26)}
其中的“5”即是验证码字符的长度,改成想要的长度即可,例如4。
4.推荐位调用自定义字段
编辑自定义字段,找到 在推荐位标签中调用 选择 是,而后再编辑一次被推荐的文章即可生效。
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"); } ?>
有朋自远方来...评论一下呗O(∩_∩)O