欢迎来到素材无忧网,按 + 收藏我们
登录 注册 退出 找回密码

ReplaceListVars() 帝国CMS函数

时间: 2024-02-25 09:28 阅读: 作者:素材无忧网

函数:ReplaceListVars()
功能:替换列表模板/标签模板/搜索模板
位置:帝国CMS e/class/connect.php

new_icon_demo.jpg

例子一:最新信息图标

ecms_min_ago.jpg

例子二:N分钟前信息 个性时间显示

修改例子一:最新信息 new图标ReplaceListVars() 帝国CMS函数(图3)

1.准备个图标放在e/trylife/common/images/title_new.gif
2.ReplaceListVars()函数体内 return $listtemp; 代码上方加入如下代码:


$new_icon='';
if((time()-$r[newstime])<86400)
{
$new_icon='ReplaceListVars() 帝国CMS函数(图4)';
}
$listtemp=str_replace('[!----NewIcon--]',$new_icon,$listtemp);

3.列表模板VAR合适位置加入[!----NewIcon--]
5.刷新列表(动态列表就不用刷新了)

修改例子二:多少分钟前信息

1.e/class/userfun.php加入如下函数

view plaincopy to clipboardprint?
  1. //多少小时以前
  2. function trylife_TimePass($newstime,$formatdate)
  3. {
  4. //过去的秒钟数
  5. $p=time()-$newstime;
  6. if($p<60)
  7. {
  8. return ''.$p.'秒前';
  9. }
  10. elseif($p<3600)
  11. {
  12. return ''.floor($p/60).'分钟前';
  13. }
  14. elseif($p<86400)
  15. {
  16. return ''.floor($p/3600).'小时前';
  17. }
  18. elseif($p<2592000)//30天
  19. {
  20. return ''.floor($p/86400).'天前';
  21. }
  22. else
  23. {
  24. return format_datetime($newstime,$formatdate);
  25. }
  26. }

2.ReplaceListVars() 函数体内修改片段

view plaincopy to clipboardprint?
  1. elseif($f=='newstime')//时间
  2. {
  3. //$value=date($formatdate,$value);
  4. //$value=format_datetime($value,$formatdate);
  5. $value=trylife_TimePass($value,$formatdate);
  6. $spf=1;
  7. }

讨论:

1.实现例子中效果的方法很多,比如使用列表模板VAR支持动态代码 在模板VAR中进行判断
2.如果不是整站需要此类的功能,还是讨论1中的方法会节省整体效率
3.ReplaceListVars()支持对列表模板/标签模板/搜索模板的替换,其他情况下比如使用灵动标签的情况还需要重写相同代码到模板中,使用情况多的话,还是将返回图标功能写成函数定义到e/class/userfun.php中,这样就可以重复使用~~
4.例子二 实际应用页面生成的是HTML的话 用JS更为合理~~ 节省资源和时间实时

版权声明: 本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

转载请注明: ReplaceListVars() 帝国CMS函数

模板推荐