A-A+

Ecshop后台中添加自己的任务计划

2011年04月29日 Ecshop 暂无评论

Ecshop所有的任务计划都放在/includes/modules/cron这个目录中,每一个文件的名称就是一个计划任务的code,每个任务计划对应的变量中文说明都在/languages/zh_cn/cron/这个目录中的相应文件中,当然也可以不用写专门的中文说明文件,只需要一个计划任务的文件也可以的。

下面我们来新建一个自己的任务计划

(1)在/includes/modules/cron目录中新建一个new_cron.php文件

(2)进入”系统设置”->”计划任务”中,点击”安装”新建的计划任务,进入到配置页,点提交就可以完成安装了。

(3)安装成功后,再对它进行相应的编辑,如果”高级选项”中的”允许执行页面”为空,表示只要用户访问网站就会执行这个定时任务计划。

(4)要想让任务正常执行还需要其它的设置,”系统设置”->”商店设置”->”基本设置”->”是否开启命令行调用计划任务”,选择”否”,注意是“否”不是“是”,这里没有错,最后就是保证在page_footer.lbi文件中有这段代码的存在 {insert name=’query_info’} 实现正常调用。

相关代码如下:

<?php

global $_LANG;

$_LANG['new_cron']     = 'XXXX计划任务';

$_LANG['my_cron_desc'] = '定时XXXX更新XXXX';

$_LANG['my_cron_name'] = 'XXXX_update';

$_LANG['my_cron_time'] = '自动执行时间间隔';

/* 模块的基本信息 安装的时候用*/

if (isset($set_modules) && $set_modules == TRUE) {

    $i = isset($modules) ? count($modules) : 0;

    /* 代码 */

    $modules[$i]['code']    = basename(__FILE__, '.php');

    /* 描述对应的语言项 */

    $modules[$i]['desc']    = 'my_cron_desc';

    /* 作者 */

    $modules[$i]['author']  = 'Xeylon Zhou';

    /* 网址 */

    $modules[$i]['website'] = 'http://ljzxzxl.com';

    /* 版本号 */

    $modules[$i]['version'] = '1.0.0';

    /* 配置信息 一般这一项通过serialize函数保存在cron表的中cron_config这个字段中*/

    $modules[$i]['config']  = array(

        array('name' => 'my_cron_name', 'type' => 'text', 'value' => 'Xeylon Zhou'),

        array('name' => 'my_cron_time', 'type' => 'text', 'value' => '30')

    );

    //name:计划任务的名称,type:类型(text,textarea,select…),value:默认值

    return;

}

//下面是这个计划任务要执行的程序了

//比如可以定时执行一下清理缓存的内容

//还可以定时更新新的留言…..看你的要求了

//例如:

echo   "<script language = 'javascript'> 

alert('已执行计划任务!');

</script>";

?>

标签:

给我留言

Copyright © 破晓Web实验室 保留所有权利.   Theme  Ality 沪ICP备14044094号

用户登录