如何在ecshop后臺中添加自定義的任務(wù)計劃,最模板解析說明如下:
所有的任務(wù)計劃都放在/includes/modules/cron這個目錄中,每一個文件的名稱就是一個計劃任務(wù)的code,每個任務(wù)計劃對應(yīng)的變量中文說明都在/languages/zh_cn/cron/這個目錄中的相應(yīng)文件中。
下面我們來新建一個自己的任務(wù)計劃。
(1)在/includes/modules/cron目錄中新建一個new_cron.php文件,文件內(nèi)容格式如下:
<?php
$cron_lang = ROOT_PATH . ‘languages/’ .$GLOBALS['_CFG']['lang']. ‘/cron/new_cron.php’;
if (file_exists($cron_lang)) {
global $_LANG;
include_once($cron_lang);
}
/* 模塊的基本信息 安裝的時候用*/
if (isset($set_modules) && $set_modules == TRUE) {
$i = isset($modules) ? count($modules) : 0;
/* 代碼 */
$modules[$i]['code'] = basename(__FILE__, ‘.php’);
/* 描述對應(yīng)的語言項 */
$modules[$i]['desc'] = ‘my_cron_desc’;
/* 作者 */
$modules[$i]['author'] = ‘阿飛的博客’;
/* 網(wǎng)址 */
$modules[$i]['website'] = ‘http://www.afeiblog.com.cn’;
/* 版本號 */
$modules[$i]['version'] = ‘2009-11-06′;
/* 配置信息 一般這一項通過serialize函數(shù)保存在cron表的中cron_config這個字段中*/
$modules[$i]['config'] = array(
array(’name’ => ‘my_cron_name’, ‘type’ => ‘text’, ‘value’ => ‘阿飛的博客’),
array(’name’ => ‘my_cron_time’, ‘type’ => ‘text’, ‘value’ => ‘30′)
);
//name:計劃任務(wù)的名稱,type:類型(text,textarea,select…),value:默認(rèn)值
return;
}
//下面是這個計劃任務(wù)要執(zhí)行的程序了
//比如可以定時執(zhí)行一下清理緩存的內(nèi)容
//還可以定時更新新的留言…..看你的要求了
?>
此時你再打開任務(wù)計劃的時候,在列表中就可以看到你剛才添加上的內(nèi)容了。這時先不要做任務(wù)操作,接著向下看。
(2)在/languages/zh_cn/cron/這個目錄中新建一個new_cron.php,內(nèi)容如下:
<?php
global $_LANG;
$_LANG['new_cron'] = ‘阿飛的計劃任務(wù)’;
$_LANG['my_cron_desc'] = ‘阿飛的博客’;
$_LANG['my_cron_name'] = ‘阿飛的博客’;
$_LANG['my_cron_time'] = ‘自動執(zhí)行時間間隔’;
?>
現(xiàn)在已經(jīng)配置完成了我的任務(wù)計劃了,接下來我們開始安裝了。
(3)進(jìn)入”系統(tǒng)設(shè)置”->”計劃任務(wù)”中,點擊”安裝”新建的計劃任務(wù),進(jìn)入到配置頁,點提交就可以完成安裝了。
(4)安裝成功后,再對它進(jìn)行相應(yīng)的編輯,如果”高級選項”中的”允許執(zhí)行頁面”為空,表示只要用戶訪問網(wǎng)站就會執(zhí)行這個定時任務(wù)計劃。
(5)要想讓任務(wù)正常執(zhí)行還需要其它的設(shè)置,”系統(tǒng)設(shè)置”->”商店設(shè)置”->”基本設(shè)置”->”是否開啟命令行調(diào)用計劃任務(wù)”,選擇”否”,此外還要在page_footer.lbi文件中加
{insert name=’query_info’},這樣才能正常執(zhí)行,如果不想使用{insert name=’query_info’},可以在includes/lib_insert.php中添加自己的函數(shù),比如:
function insert_cron_info() {
/* 加入觸發(fā)cron代碼 */
$cron_method = empty($GLOBALS['_CFG']['cron_method']) ? ‘<img src=”api/cron.php?t=’ . gmtime() . ‘” alt=”" style=”width:0px;height:0px;” />’ : ”;
return $cron_method;
}
這樣把{insert name=’query_info’}替換成{insert name=’cron_info’},多余的信息就不顯示了。
提示:一般系統(tǒng)默認(rèn)的模板是有{insert name=’query_info’}這個語句的,如果自己的模板中沒有這個語句就沒法正常運行了
新聞熱點
疑難解答
圖片精選