Porting Templates

Porting Templates

出自LifeType 中文文件计画

(修订版本间差异)
跳转到: 导航, 搜寻
(文章分页)
(文章分页)
第30行: 第30行:
* '''previous''': 前一页连结的名称或是翻译名词。预设为语系档中的previous_post后的对应值。
* '''previous''': 前一页连结的名称或是翻译名词。预设为语系档中的previous_post后的对应值。
-
(James 补充:在中文语系下,建议将{pager style="links"} 修改成 {pager style="links" next="下一页" previous="前一页"} ,因在中文语系中next_post和previous_post分别为前、后篇。因此使用上述的参数,自订前后页的文字说明会较为贴切。)
+
<pre>
 +
James 补充:在中文语系下,建议将
 +
'''{pager style="links"} '''
 +
修改成  
 +
'''{pager style="links" next="下一页" previous="前一页"}'''
 +
因在中文语系中next_post和previous_post分别为前、后篇。因此使用上述的参数,自订前后页的文字说明会较为贴切。
 +
</pre>
底下是提供给分页使用的CSS样式(CSS classes)名称:
底下是提供给分页使用的CSS样式(CSS classes)名称:

在2006年9月8日 (五) 01:13所做的修订版本

目录

移植模版到 LifeType 1.1

针对LifeType 1.0 设计的模版,在没有移植的情况下,也可以正常的在LifeType 1.1版中使用。但是它可能无法使用最新的功能,例如:分页功能。

下面的内容将提供给对移植模版感兴趣的使用者做为参考,说明在模版移值的过程中,那些模版档案是必需加以修改的。

文章分页

LifeType 1.1会依据整个部落格、某个月份的匯整或是某个目录下的文章或档案数目,自动在首页产生分页。但是,我们必需使用一些额外的Smarty语法来显示分页。

显示分页最简单的方式是使用Smarty 的 {pager} 函数,该函数已经包含所有显示分页必需的相关逻辑内容。

你可以在main.templatefooter.template的最底部(分页显示的确切位置,可能会依照模版的不同而有所差别)加入以下程式码:

{pager style="links"}

style 后的参数值可以使用下面的任何值来取代:

  • links 会显示一个基本的水平样式的分页连结,包含 "Next" 和 "Prev" 的连结,这两个连结显示与否会依照目前页数和全部页数的关系而自动调整。
  • forwardonly 在必要的时候,只会显示前往下一页的连结(在最后一页时则不显示连结)。
  • backonly 在必要的时候,只会显示往前一页的连结(因此,在第一页时则不显示连结)。

分页函数也支援以下参数:

  • separator: 当使用 "link" 方式时,用来做为页码分隔的字元,预设值为空白字元。
  • disablediv: 包夹住分页的div标籤。预设值是没有。
  • next: 下一页连结的名称或是翻译名词。预设为语系档中的next_post后的对应值。
  • previous: 前一页连结的名称或是翻译名词。预设为语系档中的previous_post后的对应值。
James 补充:在中文语系下,建议将
'''{pager style="links"} '''
修改成 
'''{pager style="links" next="下一页" previous="前一页"}'''
因在中文语系中next_post和previous_post分别为前、后篇。因此使用上述的参数,自订前后页的文字说明会较为贴切。

底下是提供给分页使用的CSS样式(CSS classes)名称:

  • pagerLink: 分页连结样式。
  • pagerLinkPrevPage: "上一页" 连结样式。
  • pagerLinkNextPage: "下一页" 连结样式。
  • pagerCurrent: 目前所在页面样式(无连结样式)。

以上这些样式,应该够用来设计一个符合模版整体风格的分页外观。不管未来是否有客制化的需要,你甚至可以使用上面不同的样式来创造属于自己风格的分页。

档案分页

和文章相同的,在LifeType 1.1中档案也使用赶流行的分页方式。

和文章不同的是,要让档案支援分页显示,必需对模版档案做额外的修改。如果没有加上这些修改,那么将会得到和平常一样没分页的效果,将所有的档案全部在一个页面中显示出来。

album.template 档案中找到以下的Smarty 程式码:

{assign var=resources value=$album->getResources()}
{foreach from=$resources item=resource}

将它用以下的程式码取代:

 {foreach from=$resources item=resource}

在这个例子中不同的是 $resources 这个阵列已经被预设为在该页面中会显示的档案,但在之前的版本中,该阵列会载入该资料夹中所有的档案。站在系统效能的观点来看,这应该是比较好的解决方法。

接下来显示分页的方法,和文章分页是一样的,同样是透过misc/pager.template这个档案。不管是文章分页或是档案分页,它们运作的原理都一样,因此在分页显示这个部份并不需要额外的修改。

在 album.template 档案中的适当地方,加上下面的内容:

{pager style="links"}

分页显示的位置,会依照目前页面的样式而定。

取得迴响和引用的正确数字

直到LifeType 1.0 版为止,使用 $post->getNumTrackbacks() 会传回所有非垃圾引用的数目,而$post->getTotalComments() 则会传回所有非垃圾迴响的数目。

为了一致性的理由,LifeType 1.1修正了这个问题,修正后可以使用的方法如下:

  • $post->getTotalComments(): 传回非垃圾迴响的数目。
  • $post->getTotalTrackbacks(): 传回非垃圾引用的数目。
  • $post->getNumComments(): 传回所有迴响的数目(包括垃圾迴响和正常迴响)。
  • $post->getNumTrackbacks(): 传回所有引用的数目(包括垃圾引用和正常引用)。

请务必记得,当你将LifeType 1.0.x的模版移值到LifeType 1.1时,一定要将所有已经存在的getNumTrackbacks() 取代为getTotalTrackbacks(),否则引用的计数可能会有所出入。