The ABC of Blogger Template Tag
国庆几天看了很多blogger模版修改的trick和tip,但看得越多就觉得越乱。只能是依葫芦画瓢,缺少自己的想法和思路。加上一直想加上一个AJAX的评论功能,所以今天下载了自己的Template开始好好研究。
总的来说,Blogger的Template也就是一种标示语言,在
中已经说得很清楚了。
但是有几个小地方还是需要特别注意一下的;)
首先, b:section 和 b:widget 是定义页面的最基本元素(tag),其中 b:section 的子元素只能是 b:widget
其次,<b:widget>的使用形如:
<b:widget id="myList" type='ListView' pageType="all" locked="no" title="My Favorite Things"/>
其中最有意思的就是 pageType 属性了,通过设置成不同的值: "all," "archive," "main," or "item,",可以指定这个widget在所有页面,存档页面,首页或单独的文章页面显示(暂时有问题,不能在模版中使用)。
之后,b:widget下面的元素就是 b:includable 和 b:include 了
b:includable 和 b:include 的关系就像C语言中的函数声明与函数的调用。首先,每个 b:widget 里面都需要一个main主函数:
<b:includable id='main' var='this'>
[content]
</b:includable>
id相当于函数名,而var则是变量。你还可以用不同的id声明其他 b:includable ,并通过
<b:include name='id_other' data='var_other'/>
调用 b:includable ,并通过data属性传递参数。在其内部则通过 data: 使用参数,如:
data:var_other.title
除了"main",可以使用 b:include 调用同一 section 内的任意 b:includable 。而每个 :widget 自动调用其中的"main" b:includable
最后,不同的widget还有不同的 data: ,可以在 Layouts Data Tags 找到不同 widget 对应的 data: 列表,列表里面的 data: 都是直接在"main" b:includable中可见的。也就是对"main" b:includable来说,即使没有申明var属性,仍然可以直接得到widget传递的参数。
BLogger的模版语言还有其他的tag, 比如 b:loop, b:if, b:else, expr:。主要用于控制flow,用法还算简单,具体还可以参考 ecmanaut: Blogger beta templates。
没有评论:
发表评论