## 说明
所有页面由 Action 的 rende r方法来渲染,因此可以调用 Action 中的属性和方法来显示数据。
其中,有一些特殊的方法,它们的开头有一个下划线 “\_”,这些方法在 TarBlog 中被统称为“数据方法”。数据方法作为属性调用时,它可以返回一个值;作为方法调用时,它不会返回值,而是回显内容。由 [Dynamic](1884553#Dynamic\_0) 实现。
例如,有一个 _title 方法,它的数据为标题,调用 $this->title 时,返回标题的值;调用 $this->title() 时,回显标题的值。
这样的设计主要是为了方便主题进行判断和显示内容,不需要写echo来回显,也不需要创建两个方法来实现回显和返回值,当然也不需要创建对应的属性。此外,数据方法只能加入可选参数,加入必选参数会使其作为属性调用时报错。
在页面说明中,我们将区分普通方法和数据方法,且数据方法前面不带下划线 “\_”(毕竟真正调用的时候确实不带 “\_”)。
## 基类方法(所有页面可用)
### page
获取Pages对象,调用其方法 to 可以复制一份该方法。
### category
获取Categories对象,调用其方法 to 可以复制一份该方法。
### need
引用主题下的文件。通常用于引入 header.php 和 footer.php。
### asset
回显资源文件URL。该方法根据当前主题和系统设置的站点地址自动补全路径。
### header
显示头部内容。通常为 meta 信息,有时候也用于插件引用 css。
### footer
显示脚部内容。通常为 评论js,有时候也用于插件引用 js。
### commentsJS
显示评论 js。该方法使用 private 修饰。
### remember
输出cookie记忆的内容。目前只支持 author/mail/url,主要用于评论区评论人信息保存。该信息每提交一次保留一年。
### is
判断页面类型。参数为用于比较的类型字符串。页面类型列表:
* archive
文章列表
* search
搜索文章列表
* category
* post
* page
### csrf_field
显示 token 表单。一般为评论使用。
### archiveTitle
显示标题。函数原型:
~~~
archiveTitle($defines = NULL, $before = ' » ', $end = '')
~~~
第一个参数为定义每个页面标题的键值对;第二个参数是标题前的字符;第三个参数是标题后的字符。
示例:
~~~
$this->archiveTitle([
'category' => '分类 %s 下的文章',
'search' => '包含关键字 %s 的文章',
'tag' => '标签 %s 下的文章',
'author' => '%s 发布的文章'
]);
~~~
## 通用的数据方法
### search
获取搜索关键词。
### token
评论用的 token。