Typecho $this 常用语法

0、前言

刚接触 Typecho 时,看到很多$this->这样的写法,又不知道是什么意思,查了文档才知道是特殊语法,可以调用当前页面的一些参数。

1、语法列表

站点名称

PHP
1
<?php $this->options->title() ?>

站点网址

PHP
1
<?php $this->options ->siteUrl(); ?>

站点介绍

PHP
1
<?php $this->options->description() ?>

文章/页面的作者

PHP
1
<?php $this->author(); ?>

作者头像

PHP
1
<?php $this->author->gravatar('40') ?>

其中,40为头像尺寸,可以修改。

上下篇调用

PHP
1
<?php $this->thePrev(); ?> <?php $this->theNext(); ?>

判断是否为首页,输出相关内容

PHP
1
2
3
4
5
<?php if ($this->is('index')): ?>
//是首页输出内容
<?php else: ?>
//不是首页输出内容
<?php endif; ?>

文章/页面评论数目

PHP
1
<?php $this->commentsNum('No Comments', '1 Comment' , '%d Comments'); ?>

截取文章内容显示摘要

PHP
1
<?php $this->excerpt(350, '.. .'); ?>

其中,350是截取摘要的字数。

调用自定义字段

PHP
1
<?php $this->fields->fieldName ?>

filedName为字段名,例如language字段可以写:

PHP
1
<?php $this->fields->language ?>

RSS 地址

PHP
1
<?php $this->options->feedUrl(); ?>

获取最新评论列表

PHP
1
2
3
4
5
6
<ul>
    <?php $this->widget('Widget_Comments_Recent')->to($comments); ?>
    <?php while($comments->next()): ?>
        <li><a href="<?php $comments->permalink(); ?>"><?php $comments->author(false); ?></a>: <?php $comments->excerpt(50, '...'); ?></li>
    <?php endwhile; ?>
</ul>

分类名称

PHP
1
<?php $this->category(',', false); ?>

获取文章时间归档

PHP
1
2
3
4
<ul>
    <?php $this->widget('Widget_Contents_Post_Date', 'type=month&format=F Y')
               ->parse('<li><a href="{permalink}">{date}</a></li>'); ?>
</ul>

获取标签集合

PHP
1
2
3
4
<?php $this->widget('Widget_Metas_Tag_Cloud', 'ignoreZeroCount=1&limit=28')->to($tags); ?>
<?php while($tags->next()): ?>
<a href="<?php $tags->permalink(); ?>" class="size-<?php $tags->split(5, 10, 20, 30); ?>"><?php $tags->name(); ?></a>
<?php endwhile; ?>

登陆与未登录用户展示不同内容

PHP
1
2
3
4
5
<?php if($this->user->hasLogin()): ?>
//登陆可见
<?php else: ?>
//未登录和登陆均可见
<?php endif; ?>
文章作者
Hsukqi Lee
发布于

2023-02-05

修改于

2023-05-21

许可协议

CC BY-NC-ND 4.0

# 学习  建站  HTML  编程  Web  Typecho  PHP  网站  开发者  软件

评论

昵称
邮箱
网址
暂无