个人工具
名字空间
变换
操作

Z-Blog/主题制作技巧

来自站长百科
跳转到: 导航, 搜索

Z-Blog|使用前须知|安装与配置|个性化定制|插件开发

目录

更新浏览计数

在打开单页日志后产生,每刷新一次,计数加1。

注意:只有在b_article-single.html有以下及第3步中介绍的代码,浏览计数才有效。

在b_article-single.html模板中,你认为合适的位置加入以下代码,标签内显示的就是当前文章的浏览次数。

<span id="spn<#article/id#>"></span>
<script  type="text/javascript">strBatchCount+="spn<#article/id#>=<#article/id#>,"</script>

显示浏览计数

只适用在列表页,如首页和分类页。动态加载,不随当前页刷新累加。

需要修改b_article-multi.html模板,在你认为合适的位置加入以下代码,span标签就是每个文章的浏览次数。

<span id="spn<#article/id#>">
<script  type="text/javascript">strBatchView+="spn<#article/id#>=<#article/id#>,"</script>

注意:你也可以用<#article/viewnums#>标签,但它只能在索引重建后更新数值。

必需辅助代码

在TEMPLATE\ default.html,single.html,catalog.html 等页面的头部和尾部(指<body ></ body>内)都要有如下代码计数器才能正常工作,默认模板已经包含这些代码。

TEMPLATE\default.html,single.html,catalog.html头部代码

<script  type="text/javascript">
        var strBatchView="";
        var strBatchInculde="";
        var strBatchCount="";
</script>

TEMPLATE\default.html,single.html,catalog.html尾部代码

<script   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("%26")+"view=" + escape(strBatchView)+unescape("%26")+"inculde=
" + escape(strBatchInculde)+unescape("%26")+"count=" + escape(strBatchCount));
    document.getElementsByTagName("body")[0].appendChild(elScript);
    }
catch(e){};
});
</script>

模板中引用INCLUDE目录内文件

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

直接在模板内嵌入标签

由系统自动替换为文件内容。注意,这种方法只适合动态生成的页的模板如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内相应文件内容。

动态插入文件内容

采用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("%26")+"view=" + escape(strBatchView)+unescape("%26")+"inculde=
" + escape(strBatchInculde)+unescape("%26")+"count=" + escape(strBatchCount));
    document.getElementsByTagName("body")[0].appendChild(elScript);
    }
catch(e){};
});
</script>

参考来源

http://wiki.rainbowsoft.org/doku.php?id=themes:tips

Z-Blog使用手册导航

使用前须知

系统需求|使用手册|名词解释

安装与配置

安装与升级|配置你的博客

个性化定制

主题制作规范|模板文件与模板标签|主题制作技巧

插件开发

插件开发指南|行为类接口|过滤器接口|纯输出接口

留言