DEDE广告生成静态JS文件的插件

目前只能生成JS,可以加快页面显示,减轻数据库压力,暂时没有时间开发随机轮显功能。

安装方法:
1,建立一个文件,命名为ad_makejs.php,修改JS存放路径:


< ?php require_once(dirname(__FILE__)."/config.php"); require_once(dirname(__FILE__)."/../include/pub_datalist.php"); require_once(dirname(__FILE__)."/../include/inc_functions.php"); setcookie("ENV_GOBACK_URL",$dedeNowurl,time()+3600,"/"); function TestType($tname) { if($tname=="") return "所有栏目"; else return $tname; } function TimeSetValue($ts) { if($ts==0) return "不限时间"; else return "限时标记"; } $sql = "Select #@__myad.aid,#@__myad.normbody,#@__myad.tagname,#@__arctype.typename,#@__myad.adname,#@__myad.timeset,#@__myad.endtime From #@__myad left join #@__arctype on #@__arctype.ID=#@__myad.typeid order by #@__myad.aid desc "; $dsql = new DedeSql(false); $dsql->SetQuery($sql);
$dsql->Execute('aid');
while($row = $dsql->getarray('aid'))
{
$filename = "../js/".$row['aid'].".js";//此处为Js存放路径和格式
fopen($filename, w);
$adbody = $row['normbody'];
$adbody = str_replace('"','\"',$adbody);
$adbody = str_replace("\r","\\r",$adbody);
$adbody = str_replace("\n","\\n",$adbody);
$adbody = "document.write(\"{$adbody}\");";
$adbody = "";

// 首先我们要确定文件存在并且可写。
if (is_writable($filename))
{
if (!$handle = fopen($filename, 'a')) {
print "
不能打开文件 $filename
";
exit;
}
// 将$adbody写入到我们打开的文件中。
if (!fwrite($handle, $adbody)) {
print "
不能写入到文件 $filename
";
exit;
}
print "
成功生成 $filename
";
fclose($handle);
} else {
print "
文件 $filename 不可写
";
}
}
echo "返回";
?>

二,可以进入插件安装那里添加这个文件的地址,访问即可生成JS文件。但是为了便于调用静态代码,我还修改了一些模板。如下:

修改ad_edit.php

$jscode = "";

添加静态JS调用代码:

$jscode = "\r\n";

当然,也可以在广告主页面模板中加一条生成静态文件的链接,打开ad_main.php

添加一条管理链接:

广告管理 [增加一个新广告] [广告静态化]