top-image

OLDER ARTICLES

在网页开发中,我们经常需要显示文章或动态的发布时间,为了增加用户体验,通常会将发布时间显示为几秒前、几分钟前、几小时前、几天前、几月前等形式,以便更直观地展示时间的流逝。本文将介绍如何实现这样的效果。

首先,在\extend\function.php添加以下代码:

// 发表时间几天前的写法

function ycnh_date($time){
    $t=time()-$time;
    $f=array(
        '31536000'=>'年',
        '2592000'=>'个月',
        '604800'=>'星期',
        '86400'=>'天',
        '3600'=>'小时',
        '60'=>'分钟',
        '1'=>'秒'
    );
    foreach ($f as $k=>$v)    {
        if (0 !=$c=floor($t/(int)$k)) {
            return $c.$v.'前';
        }
    }
}

 

然后在需要调用的 位置写上调用标签:
{$field.add_time|ycnh_date}

通过以上步骤,我们就可以实现发布时间显示为几秒前、几分钟前、几小时前、几天前、几月前的效果了。这样的时间显示方式能够更好地与用户进行时间的交互,提升用户体验。

1.设置好参数设置的选项.
2.替换相应的字段值:
方法一:运行"update phome_ecms_news set newstext=REPLACE(newstext,’原域名’,’新域名’),titlepic=REPLACE(titlepic,’原域名’,’新域名’)"(说明:news为相应的表)
方法二:后台批量替换字段值即可

下个修改后台工具  修改下密码,在官网里面搜索下  就有。

基本信息-附件设置,可以换一个CK编辑器

{eyou:arclist typeid='文档ID' limit='0,10' mod='每隔几条'}
{eyou:eq name='mod' value='0'}<li></li>{/eyou:eq}
<a href='{$field.arcurl}'>{$field.title}</a>
{/eyou:arclist}

 

{eyou:flink type='text' row='100' titlelen='20'} 
<a href='{$field.url}' {$field.target}>{$field.title}</a>
{/eyou:flink}

 

artlist 文档列表(配合arcpagelist标签可实现ajax瀑布流分页)
 

[基础用法]

标签:artlist
描述:获取网站栏目(如:文章、产品、图集、软件等)的一些文章。
用法:
{eyou:artlist typeid=’栏目ID’ limit=’0,10′ flag=’c’ titlelen=’30’ infolen=’160′ orderby=’add_time’}
   <a href='{$field.arcurl}’>{$field.title}</a>
{/eyou:artlist}

属性:

typeid=” 栏目ID,在列表模板和内容页模板中一般不需要指定,在首页模板中允许用”,”分开调用多个栏目文章,但必须是同一个模型下的多个栏目ID,比如:文章模型、产品模型、图集模型等,注:指定的栏目是不包含子栏目内的文章的;
notypeid=” 同typeid,但这里是表示不包含这些属性,与typeid不能同时存在;
tagid=” 在所有的artlist标签中是唯一不可重复,对应arcpagelist标签的tagid名称,与arcpagelist配合使用可实现ajax瀑布流分页;
loop=’10’ 返回文档列表总数(建议不要与limit属性同时存在,否则loop无效)
limit=’起始ID,记录数’ (起始ID从0开始)表示限定的记录范围(如:limit=’1,3′ 表示在3条记录中,排除前面1条,也就是只取得剩余的后面所有记录)

aid=” 指定单个文档ID

idlist=” 指定多个文档ID,以逗号分隔开

idrange=” 筛选aid范围,如idrange=’1-3′  aid在1-3区间的数据(aid等于1,2,3)

titlelen=’30’ 标题长度
infolen=’160′ 表示内容简介长度
addfields=” 自定义字段名,多个字段之间用英文逗号隔开,比如:addfields=’price,spce’
orderby=’new’ 文档排序方式
—-orderby=’hot’ 或 orderby=’click’ 表示按点击数从高到低排序
—-orderby=’add_time’ 按发布时间最新排序

—-orderby=’update_time’ 按更新时间最新排序

—-orderby=’aid’ 按ID从大到小排序
—-orderby=’sort_order’ 按排序号从大到小排序
—-orderby=’rand’ 随机排序,对性能有一定影响,不推荐使用
—-orderby=’is_recom desc, sort_order asc’ 自定义多字段组合排序
ordermode=’desc’ 排序类型:desc表示从大到小,asc表示从小到大
modelid=” 频道ID,优先级高于栏目ID,仅次于文档ID
keyword=” 含有指定关键字的文档列表,多个关键字用”,”分
flag=’t,c’ 自定义属性值:推荐[c]跳转[j]
noflag=” 同flag,但这里是表示不包含这些属性
empty=” 没有数据时显示的文案
mod=” 每隔N行输出的内容
thumb=’on’ 默认使用缩略图,on为开启,off为关闭
arcrank=’on’ 默认不展示阅读权限,on为开启,off为关闭,示例在下方
id=” 可以任意指定循环里的变量名替代field,假设id=’field1’,模板调用如:{$field.title} 变成 {$field1.title}
注:如果是标签内套标签,请重新定义id,以防变量名重复,获取的内容受影响

模板调用如:

{eyou:artlist typeid=’栏目ID’  id=’field’ }
<li>
<div class=”title”><a href=”{$field.arcurl}” title=”{$field.title}”>{$field.title}</a></div>
{eyou:tag sort=’now’ getall=’0′ loop=’100′   id=’field1′ }
<div class=”tags”><a href='{$field1.link}’>{$field1.tag}</a></div>
{/eyou:tag}
</li>
{/eyou:artlist}

为什么修改了栏目的"内容模板"以前的信息页面不变?

解决方法如下三种:

1.修改栏目的"内容模板"时,选择应用于已生成的文件
2.用批量替换值功能:将newstempid字段值替换一下(旧值为旧的模板id,新值为新的内容模板id,并且要选择完全替换)
3.运行SQL:”update phome_ecms_表名 set newstempid=旧的模板id where newstempid=新的模板id”("news"为相应的数据表)

错误记录:

Fatal error: Cannot redeclare printerror() (previously declared in …

错误原因:

没有复制新版授权文件的原故

解决方案:

zend没安装成功,或者服务器不支持zend。

如已安装zend,info页面却显示没有安装zend,那么有可能是system32权限不够, 使zend不能更改php.ini文件。请检查权限。

Warning: mysqli_query(): open_basedir restriction in effect. File(/opt/rasp_php73/logs/alarm/alarm.log.2021-12-07) is not within the allowed path(s): (/www/wwwroot/yssmt.net/:/tmp/) in /www/wwwroot/yssmt.net/install/index.php on line 374

Warning: mysqli_query(/opt/rasp_php73/logs/alarm/alarm.log.2021-12-07): failed to open stream: Operation not permitted in /www/wwwroot/yssmt.net/install/index.php on line 374

是环境没配置好,把php版本切换下试试

Page 1030 of 1049:« First« 1027 1028 1029 1030 1031 1032 1033 »Last »
bottom-img