经常看到奇文的小说目录页有更新时间,更新字数,章节预览这些,一直以为杰奇没有,最近在制作3。0,研究杰奇代码的时候发现杰奇其实这些变量都已经准备好了,只是很少有人用而已
提供一个写好的带更新时间 更新字数 内容预览的目录循环部分
更新时间:{?$indexrows[i].time1|date:’Y-m-d H:i:s’?}
更新字数:{?$indexrows[i].size_c1?}
内容预览:{?$indexrows[i].intro1?}
{?section name=i loop=$indexrows?}
{?if $indexrows[i].ctype == “volume”?}
{?if $indexrows[i].vname == “”?}
{?else?}
{?$indexrows[i].vname?}
{?/if?}
[分卷阅读]
{?else?}
{?if $indexrows[i].cname1 == “”?}
{?else?}
{?$indexrows[i].cname1?}
{?/if?}
{?if $indexrows[i].cname2 == “”?}
{?else?}
{?$indexrows[i].cname2?}
{?/if?}
{?if $indexrows[i].cname3 == “”?}
{?else?}
{?$indexrows[i].cname3?}
{?/if?}
{?if $indexrows[i].cname4 == “”?}
{?else?}
{?$indexrows[i].cname4?}
{?/if?}
{?/if?}
{?/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中用下面这句调用:
alert(jstext);
在b.php中有这样一段PHP代码:
$action=$_GET['action']; //echo "var jstext='$action'"; //输出一句JS语句,生成一个JS变量,并赋颠值为PHP变量 $action的值 //echo "var jstext='aa'"; echo "var jstext="."'$action'"; ?>
当执行a.html文件时,就会调用b.php文件,并将b.php文件的输出作为JS语句来执行,所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值.
小结:
在HTML里用JS 调用文件的方式调PHP文件,则PHP文件的输出将会被调用页作为JS的代码来用.