ECSHOP模板,SHOPEX模板,ZENCART模板

专业设计ECSHOP模板,SHOPEX模板,ZENCART模板

« 刘强东暗示京东商城拓展百货迫于投资方压力互联网已成奢侈品重要的销售渠道 »

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

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

 
复制代码
  1. <?php
  2. require_once(dirname(__FILE__)."/config.php");
  3. require_once(dirname(__FILE__)."/../include/pub_datalist.php");
  4. require_once(dirname(__FILE__)."/../include/inc_functi*****.php");
  5. setcookie("ENV_GOBACK_URL",$dedeNowurl,time()+3600,"/");
  6.  
  7. function TestType($tname)
  8. {
  9.     if($tname=="") return "所有栏目";
  10.     else return $tname;
  11. }
  12.  
  13. function TimeSetValue($ts)
  14. {
  15.     if($ts==0) return "不限时间";
  16.     else return "限时标记";
  17. }
  18.  
  19.         $sql = "Select
  20.         #@__myad.aid,#@__myad.normbody,#@__myad.tagname,#@__arctype.typename,#@__myad.adname,#@__myad.timeset,#@__myad.endtime
  21.         From #@__myad
  22.         left join #@__arctype on #@__arctype.ID=#@__myad.typeid
  23.         order by #@__myad.aid desc
  24.         ";
  25.        
  26.         $dsql = new DedeSql(false);
  27.         $dsql->SetQuery($sql);
  28.         $dsql->Execute('aid');
  29.         while($row = $dsql->getarray('aid'))
  30.         {
  31.         $filename = "../js/".$row['aid'].".js";//此处为Js存放路径和格式
  32.         fopen($filename, w);
  33.         $adbody = $row['normbody'];
  34.         $adbody = str_replace('"','\"',$adbody);
  35.         $adbody = str_replace("\r","\\r",$adbody);
  36.         $adbody = str_replace("\n","\\n",$adbody);
  37.         $adbody = "document.write(\"{$adbody}\");";
  38.         $adbody = "<!--\r\n".$adbody;
  39.         $adbody = $adbody."\r\n-->";
  40.        
  41.         // 首先我们要确定文件存在并且可写。
  42.         if (is_writable($filename))
  43.         {
  44.             if (!$handle = fopen($filename, 'a')) {
  45.             print "<br>不能打开文件 $filename<br>";
  46.             exit;
  47.             }
  48.             // 将$adbody写入到我们打开的文件中。
  49.             if (!fwrite($handle, $adbody)) {
  50.             print "<br>不能写入到文件 $filename<br>";
  51.             exit;
  52.             }
  53.             print "<br>成功生成 $filename<br>";
  54.             fclose($handle);
  55.         } else {
  56.         print "<br>文件 $filename 不可写<br>";
  57.         }
  58.         }
  59.         echo "<a href=ad_main.php>返回</a>";
  60. ?>


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

修改ad_edit.php

 
复制代码
  1. $jscode = "<script src='{$cfg_plus_dir}/ad_js.php?aid=$aid' language='javascript'></script>";

添加静态JS调用代码:
 
复制代码
  1. $jscode = "<script src='{$cfg_plus_dir}/ad_js.php?aid=$aid' language='javascript'></script>\r\n<script src='/js/$aid.js' language='javascript'></script>";


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

添加一条管理链接:
 
复制代码
  1. <b> 广告管理</b>     [<a href="ad_add.php"><u>增加一个新广告</u></a>]    [<a href="ad_makejs.php"><u>广告静态化</u></a>]</td>





说下使用步骤:

1、保存楼主的代码并命名为ad_makejs.php,打开该文件,修改生成广告JS静态文件的存放路径(可在根目录新设置一个名为js的文件夹,就不需要修改这个路径了),然后存放该文件到后台管理文件夹dede/内。

2. 在后台,点击“辅助插件>>安装新插件,填入有关信息并提交确认:
插件名称:生成广告JS静态文件
作者:vus520
主程序文件:ad_makejs.php

3.在后台点击辅助插件,点击左边导航新增的“生成广告JS静态文件”,即可生成JS文件。

4.(这一步骤可做也可不做)找到dede/ad_edit.php文件中的代码:
$jscode = "<script src='{$cfg_plus_dir}/ad_js.php?aid=$aid' language='javascript'></script>";
修改为:(添加多一个静态JS调用代码)
$jscode = "<script src='{$cfg_plus_dir}/ad_js.php?aid=$aid' language='javascript'></script>\r\n<script src='/js/$aid.js' language='javascript'></script>";

5.把模板中原来的广告调用代码:
<script src='/plus/ad_js.php?aid=1' language='javascript'></script>
修改为:
<script src='/js/1.js' language='javascript'></script>(其中的数字是根据广告编号改变的)
即可。如果不改,就是使用原来的动态的JS调用广告。

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 Code detection by Codefense  theme by BokeZhuti

Copyright SPWJ.net . All Rights Reserved.