您现在的位置是:首页 > 教程 > 帝国CMS教程帝国CMS教程
帝国CMS函数ReplaceListVars() 功能和实现例子
语雯2023-01-17 11:37:59帝国CMS教程已有人查阅
导读函数:ReplaceListVars()功能:替换列表模板/标签模板/搜索模板位置:帝国CMS e/class/connect.php例子一:最新信息图标例子二:N分钟前信息 个性时间显示修改例子一:最新信息 new图标
函数:ReplaceListVars()
功能:替换列表模板/标签模板/搜索模板
位置:帝国CMS e/class/connect.php
例子一:最新信息图标
例子二:N分钟前信息 个性时间显示
修改例子一:最新信息 new图标1.准备个图标放在e/trylife/common/images/title_new.gif
2.ReplaceListVars()函数体内return $listtemp;代码上方加入如下代码:
$new_icon='';
if((time()-$r[newstime])<86400)
{
$new_icon='<img src="'.$public_r[newsurl].'e/trylife/common/images/title_new.gif" />';
}
$listtemp=str_replace('[!----NewIcon--]',$new_icon,$listtemp);
3.列表模板VAR合适位置加入[!----NewIcon--]
5.刷新列表(动态列表就不用刷新了)
1.e/class/userfun.php加入如下函数
view plaincopy to clipboardprint?
//多少小时以前
function trylife_TimePass($newstime,$formatdate)
{
//过去的秒钟数
$p=time()-$newstime;
if($p<60)
{
return '<span style="color: red;"><strong>'.$p.'</strong>秒前</span>';
}
elseif($p<3600)
{
return '<span style="color: green;"><strong>'.floor($p/60).'</strong>分钟前</span>';
}
elseif($p<86400)
{
return '<span style="color: blue;"><strong>'.floor($p/3600).'</strong>小时前</span>';
}
elseif($p<2592000)//30天
{
return '<span style="color: gray;"><strong>'.floor($p/86400).'</strong>天前</span>';
}
else
{
return format_datetime($newstime,$formatdate);
}
}
2.ReplaceListVars() 函数体内修改片段
view plaincopy to clipboardprint?
elseif($f=='newstime')//时间
{
//$value=date($formatdate,$value);
//$value=format_datetime($value,$formatdate);
$value=trylife_TimePass($value,$formatdate);
$spf=1;
}
讨论:
1.实现例子中效果的方法很多,比如使用列表模板VAR支持动态代码 在模板VAR中进行判断
2.如果不是整站需要此类的功能,还是讨论1中的方法会节省整体效率
3.ReplaceListVars()支持对列表模板/标签模板/搜索模板的替换,其他情况下比如使用灵动标签的情况还需要重写相同代码到模板中,使用情况多的话,还是将返回图标功能写成函数定义到e/class/userfun.php中,这样就可以重复使用~~
4.例子二 实际应用页面生成的是HTML的话 用JS更为合理~~ 节省资源和时间实时
本文标签:
很赞哦! ()
相关文章
随机图文
-
帝国CMS父栏目终极栏目非终极栏目之间有什么区别
父栏目:就是通常所说的大栏目,每个父栏目下面可以包含若干个子栏目和终极栏目。父栏目下不可以直接增加信息(文章)。 -
帝国CMS获取当前自定义列表的listid方法
准备用帝国自定义列表功能做几个专题,但是发现没办法调用自定义列表的当前ID(数据库字段为listid),在帝国论坛也没找到合适的答案。于是百度了一下,在这里找到了。 -
帝国CMS内容页怎么调用信息的前三篇和后三篇
帝国CMS内容页调用当前信息的前三篇和后三篇的文章作为推荐阅读,如果没有就不调用。 -
帝国CMS后台生成的广告JS被广告插件过滤的解决方法
帝国CMS发现其广告JS,都不显示,多方检查,发现是浏览器把广告JS给过滤掉了。了解过其滤规则后,只能对帝国做出相应的修改。
留言与评论 (共有 条评论) |