初次看到布局的代码时先是一阵头痛——太复杂了。不过经过这一天的观察,现在看起来这些代码其实比
<$BloggerCode$>
这类模板代码强大太多了。就单单是之前我弄的那个 flash 复制评论者按钮这个应用来看,布局代码的优势就是很大的;在模板中仅仅是从 HTML 代码里解析出用户名就需要一整段 js——而布局代码直接给出了这些,一个 <data:comment.author />
片段就好。在实际使用时也遇到了一个问题,即在模板中提供的
<MainPage> </MainPage>
这个标记的替代品。通常文章页的侧边栏不需要太多的 widgets,而在 Blogger Help 中有提及到
<b:widget>
标记可使用的 pageType
属性(index, archive, item),但实际应用中,使用了这个属性后,widget 并不会如愿只显示在指定页面;而 blogger 还会自作主张地清除你添加的这个属性。要做到这个效果,你需要选中“扩展窗口小部件模板”,在要设置的
<b:widget>
标记下找到 <b:includable>
标记,如:
<b:widget id='Profile1' locked='false' title='我的简介' type='Profile'>
<b:includable id='main'>
在 <b:includable id='main'>
之下加上需要的属性即可,如
<b:if cond='data:blog.pageType == "index"'>
当然,你需要在最后的 </b:includable>
之前添加 </b:if>
来把标记封闭。这样,“我的简介” widget 就只在 index(首页)显示了。不过,这毕竟是个 trick,不是所有的 widget 都可以这样控制所显示在的页面。
在我的试验中,“供稿”widget 就不可以用这段代码——这样做你虽然可以控制“供稿”widget 的显示,但同时“反向链接(Backlinks)”组件会遇到问题而无法显示。这大概是因为
<b:if>
标记在 blogger 最后的解析过程中屏蔽掉了一些关键代码所致的吧。
来祝你牛年牛逼的~~
回复删除貌似换皮了哈~~
哎,太不喜欢blogger的这个评论系统了,每次来都要重新输入一遍资料,也不知道那个cookie起什么作用的~~
@Elton Disney 谢谢!牛年好!我是换了这个简单一些的主题,评论方面就没辙了,大家都很无奈……
回复删除我还以为是我眼花呀,保存时候系统自动清除了 pageType 属性... 原来是bug。谢谢了。
回复删除