z-blog

关注公众号 jb51net

关闭
CMS教程 > z-blog >

z-blog模板中引用INCLUDE目录内文件

jb51

关键字描述:目录 文件 引用 模板 " < INCLUDE 内容 插入 动态

在Z-Blog中引用INCLUDE目录内文件共有两种方法

1.直接在模板内嵌入标签

由系统自动替换为文件内容。注意,这种方法只适合动态生成的页的模板如default.html,catalog.html,而如用在静态页模板如singel.html则只能在文件重建后更新。

A.根目录下的INCLUDE内文件引用

<#CACHE_INCLUDE_文件名(不要后缀且全大写)#>

这样的标签,例如:“<#CACHE_INCLUDE_CATALOG#>”,系统会自动读取INCLUDE目录内的catalog.asp并替换标签。

B.主题目录下的INCLUDE内文件引用

1.8新特性:主题也可以有自己的INCLUDE目录,如THEMES\default\INCLUDE,使用

<#TEMPLATE_INCLUDE_文件名(不要后缀且全大写)#>

系统会自动引用当前主题下的INCLUDE内相应文件内容。

2.动态插入文件内容

采用c_html_js.asp动态插入文件内容,这种方法适合所有的模板如single.html,catalog.html。动态插入也有两种方式:

A.一个一个单独插入到模板里来,效率较低。

例如以下代码就把INCLUDE目录内的calendar.asp的内容动态的插入当前页面。

在你想要插入的元素的HTML标签内写入

<script src="<#ZC_BLOG_HOST#>function/c_html_js.asp?include=calendar" type="text/javascript"></script>

将<#ZC_BLOG_HOST#>替换成你的博客地址,即可在外部引用你博客上的列表内容了。

B.使用c_html_js.asp的act=batch指令批量的读入文件。

推荐在静态日志页面模板(singel.html)使用该读入方式读取include文件(如日历calendar.asp,最近文章previous.asp等)。

注:该方法也同样可用于读取主题目录下的include文件

Step 1.在模板顶部定义如下JS参数

<script  type="text/javascript">

        var strBatchView="";

        var strBatchInculde="";

        var strBatchCount="";

</script>

Step 2.在你想要插入的元素的HTML标签内写入

<ul id="ulComments">

<script type="text/javascript">strBatchInculde ="ulComments=comments,"</script>

</ul>

这段代码的用意是:把comments.asp(最新评论)的内容放入ID为”ulComments”的HTML元素内。你只要改”ulComments”和”comments”两个字符串为相应的HTML元素的ID和INCLUDE目录下的文件名(不要后缀)即可调用其中内容。

Step 3.在模板的最末端写入

<script language="JavaScript" type="text/javascript">

$(document).ready(function(){

try{

    var elScript = document.createElement("script");

    elScript.setAttribute("language", "JavaScript");

    elScript.setAttribute("src", "<#ZC_BLOG_HOST#>function/c_html_js.asp?act=batch" unescape("&") "view="   escape(strBatchView) unescape("&") "inculde="   escape(strBatchInculde) unescape("&") "count="   escape(strBatchCount));

    document.getElementsByTagName("body")[0].appendChild(elScript);

    }

catch(e){};

});

</script>