经常看到奇文的小说目录页有更新时间,更新字数,章节预览这些,一直以为杰奇没有,最近在制作3。0,研究杰奇代码的时候发现杰奇其实这些变量都已经准备好了,只是很少有人用而已
提供一个写好的带更新时间 更新字数 内容预览的目录循环部分
更新时间:{?$indexrows[i].time1|date:’Y-m-d H:i:s’?}
更新字数:{?$indexrows[i].size_c1?}
内容预览:{?$indexrows[i].intro1?}

  1. {?section name=i loop=$indexrows?}
  2. {?if $indexrows[i].ctype == “volume”?}
  3. {?if $indexrows[i].vname == “”?}
  4. {?else?}
  5. {?$indexrows[i].vname?}
  6. {?/if?}
  7. [分卷阅读]
  8. {?else?}
  9. {?if $indexrows[i].cname1 == “”?}
  10. {?else?}
  11. {?$indexrows[i].cname1?}
  12. {?/if?}
  13. {?if $indexrows[i].cname2 == “”?}
  14. {?else?}
  15. {?$indexrows[i].cname2?}
  16. {?/if?}
  17. {?if $indexrows[i].cname3 == “”?}
  18. {?else?}
  19. {?$indexrows[i].cname3?}
  20. {?/if?}
  21. {?if $indexrows[i].cname4 == “”?}
  22. {?else?}
  23. {?$indexrows[i].cname4?}
  24. {?/if?}
  25. {?/if?}
  26. {?/section?}

这个在杰奇后台生成html是没有问题的
但是使用关关的时候关关可能是没有注意到这些调用 所以生成的时候这些内容都没有解析
怎么办呢?杰奇是加密的,所以很多方式都不能用
我做了一个比较简单的
js嵌入一个页面,关关生成的时候带了这段js,当第一次访问的时候这段js起作用利用杰奇本身功能重新生成目录页,下一次访问就正常了。
具体实现代码如下
目录页模板页面:modules/article/templates/index.html在其底部加入js调用

  

然后再网站根目录建立ptcms目录 在ptcms目录建立plus目录,里面新建一个文件readpagereset.php
代码如下

 1 loadopf( ) )
 2 {
 3     $package->makeindex( );
 4 }
 5 $file=JIEQI_ROOT_PATH.'/html/'.floor($_REQUEST['aid']/1000).'/'.$_REQUEST['aid'].'/index.shtml';
 6 $str=file_get_contents($file);
 7 $str=str_replace('','',$str);
 8 
 9 writeto($file,$str);
10 function writeto($filePath, $content){    
11     $pt_html = fopen($filePath, 'w'); 
12     flock($pt_html, LOCK_EX);
13     $result = fwrite($pt_html, $content);
14     fclose($pt_html);
15     return $result;
16 }

 

html页面用JS代码来调用php文件的方法:

如在页面a.html中用下面这句调用:

 

  1. <script type=“text/javascript” src=“b.php?action=test”></script>
  2. <script type=“text/javascript” >
  3. alert(jstext);
  4. </script>

 

 

在b.php中有这样一段PHP代码:

  1. <?
  2. $action=$_GET[‘action’];
  3. //echo “var jstext=’$action'”; //输出一句JS语句,生成一个JS变量,并赋颠值为PHP变量 $action的值
  4. //echo “var jstext=’aa'”;
  5. echo “var jstext=”.“‘$action‘”;
  6. ?>

 

 

 

当执行a.html文件时,就会调用b.php文件,并将b.php文件的输出作为JS语句来执行,所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值.

小结:

在HTML里用JS 调用文件的方式调PHP文件,则PHP文件的输出将会被调用页作为JS的代码来用.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注