关于Discuzloop的信息
当前目录列表:
1、php Discuz的定时任务是什么原理怎么实现的?求高手解答 2、Discuz教程:如何去掉论坛右下角的新短消息提醒 3、Discuz3.4首页如何调用帖子最后回复内容 4、Discuz的loop标签取到的数据可以排序吗?怎么排序 5、Discuz会员如何显示以下形式!最好有详细的代码或者思路!
php Discuz的定时任务是什么原理怎么实现的?求高手解答
php中定时计划任务的实现原理:
当 PHP 脚本正常地运行 NORMAL 状态时,连接为有效。当远程客户端中断连接时,ABORTED 状态的标记将会被打开。远程客户端连接的中断通常是由用户点击 STOP 按钮导致的。当连接时间超过 PHP 的时限时,TIMEOUT 状态的标记将被打开。
示例代码:
?php
ignore_user_abort,true;set_time_limit,0;
date_default_timezone_set,'PRC'; // 切换到中国的时间
$run_time = strtotime,'+1 day'; // 定时任务第一次执行的时间是明天的这个时候
$interval = 3600*12; // 每12个小时执行一次
if,!file_exists(dirname(__FILE__.'/cron-run')) exit,; // 在目录下存放一个cron-run文件,如果这个文件不存在,说明已经在执行过程中了,该任务就不能再激活,执行第二次,否则这个文件被多次访问的话,服务器就要崩溃掉了
do {
if,!file_exists(dirname(__FILE__.'/cron-switch')) break; // 如果不存在cron-switch这个文件,就停止执行,这是一个开关的作用
$gmt_time = microtime,true; // 当前的运行时间,精确到0.0001秒
$loop = isset,$loop $loop ? $loop : $run_time - $gmt_time; // 这里处理是为了确定还要等多久才开始第一次执行任务,$loop就是要等多久才执行的时间间隔
$loop = $loop 0 ? $loop : 0;
if,!$loop break; // 如果循环的间隔为零,则停止
sleep,$loop;
// ...
// 执行某些代码
// ...
@unlink,dirname(__FILE__.'/cron-run'); // 这里就是通过删除cron-run来告诉程序,这个定时任务已经在执行过程中,不能再执行一个新的同样的任务
$loop = $interval;
} while,true;

Discuz教程:如何去掉论坛右下角的新短消息提醒
如何去掉论坛右下角的新短消息提醒
打开\template\default\common\footer.htm文件,然后找到137-150行的代码删除即可
script type="text/javascript"
var h5n = new Html5notification,;
if,h5n.issupport() {
!--{if $_G[member][newpm] $_GET[do] != 'pm'}--
h5n.shownotification,'pm', '$_G[siteurl]home.php?mod=spacedo=pm', '!--{avatar($_G[uid],small,true}--', '{lang newpm_subject}', '{lang newpm_notice_info}');
!--{/if}--
!--{if $_G[member][newprompt] $_GET[do] != 'notice'}--
!--{loop $_G['member']['category_num'] $key $val}--
!--{eval $noticetitle = lang,'template', 'notice_'.$key;}--
h5n.shownotification,'notice_$key', '$_G[siteurl]home.php?mod=spacedo=noticeview=$key', '!--{avatar($_G[uid],small,true}--', '$noticetitle ,$val', '{lang newnotice_notice_info}');
!--{/loop}--
!--{/if}--
}
/script
Discuz3.4首页如何调用帖子最后回复内容
但是$post[]和$_G[forum_thread][]区别在于后者是全局变量,也就是调用的整个帖子的作者,即楼主,如果调用对应楼层的,那么就是loop循环中使用$post[author]。
Discuz的loop标签取到的数据可以排序吗?怎么排序
可以排序啊!
举例,这样一段调用代码:
[loop]
lia href="{url}" title="{title}"{target}em{currentorder}/em{title}/a/li
[/loop]
方法1、重写代码,将上面的代码写为:
[index=1]
lia href="{url}" title="{title}"{target}em{currentorder}/em{title}/a/li
[/index]
[index=2]
lia href="{url}" title="{title}"{target}em{currentorder}/em{title}/a/li
[/index]
[loop]
lia href="{url}" title="{title}"{target}em{currentorder}/em{title}/a/li
[/loop]
index=1的意思就是取到的数据第一个,放在第一位。以此类推。
方法2、不需要重写代码,在diy模式下编辑该模块的数据,设置数据ID就可以了。
欢迎交流
Discuz会员如何显示以下形式!最好有详细的代码或者思路!
后台里 门户 » 模块模板 建立一个 会员调用的模版 思路是这样的。
你可以使用[loop]...[/loop]标签来循环显示模块中的数据;如果要在模板中多处循环可以使用[loop1]...[/loop1]的方式扩展,只能扩展1-9个
你可以使用[order=N]...[/order]标签来替代默认loop中的第N个位置数据的展示,你可以使用[order1=N]...[/order1]的方式来扩展,对应[loop1]
显示全部提示...
你可以使用[index=N]...[/index]的方式来指定第N条数据的展示方式,由该语法指定的数据不再在loop循环中出现,可以通过[index1]...[/index1]的方式来扩展,只能扩展1-9个以实现同一条数据多处展示
你可以使用可生成缩略图的图片标签/可指定打开方式的链接,并在生成模块时指定缩略图大小/链接打开方式
某些模块,如静态模块内容是由数据源生成的,不需要对应模板
字段项,如:{title}只在[loop]、[order]、[index]标签内生效
你可以使用[loop]...[/loop]标签来循环显示模块中的数据;如果要在模板中多处循环可以使用[loop1]...[/loop1]的方式扩展,只能扩展1-9个
你可以使用[order=N]...[/order]标签来替代默认loop中的第N个位置数据的展示,你可以使用[order1=N]...[/order1]的方式来扩展,对应[loop1]
显示全部提示...
你可以使用[index=N]...[/index]的方式来指定第N条数据的展示方式,由该语法指定的数据不再在loop循环中出现,可以通过[index1]...[/index1]的方式来扩展,只能扩展1-9个以实现同一条数据多处展示
你可以使用可生成缩略图的图片标签/可指定打开方式的链接,并在生成模块时指定缩略图大小/链接打开方式
某些模块,如静态模块内容是由数据源生成的,不需要对应模板
字段项,如:{title}只在[loop]、[order]、[index]标签内生效
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 建站教程 > 关于Discuzloop的信息


