• typecho按分类显示文章标题颜色实战

    今天想把我用typecho搭建的一个站的文章标题颜色按照分类来显示,也就是不同分类,文章标题的颜色就会不同,效果可以查看www.jingang.org

    刚开始想用<?php if ($this->is(‘category’,’news’)): ?> ,但是想了下,这个只是判断当前页面是不是news分类下面的,并不能达到我的要求,事实也证明我用此判断然后输出样式没有成功。

    那怎么搞呢?typecho群里的宅给我提醒了,“ 直接class=”<?php echo 分类缩略字 ?>” ”,试了下 <?php $this->category(‘,’); ?> 不行,因为那个直接就输出分类的链接了。不过答案很快就给我找到了,<?php echo $this->category; ?> 就可以了。

    下面说说具体怎么用吧,如果你想在index页面,让文章标题的颜色根据分类显示,那么就打开你的模板文件夹下的index.php文件

    <h2 class="entry_title"></h2>
    

    替换为

    <h2 class="entry_title">
    	<a href="<?php $this->permalink() ?>" class="<?php echo $this->category; ?>"><?php $this->title() ?></a>
    </h2>
    

    这样就会在index页面的每篇文章里加上class=”分类缩略名”,然后我们就可以用这个来修改css样式了

    打开你的主题文件夹下style.css文件来定义css,比如我的一个分类是news,想把分类下文章标题都变成红色的,那么添加代码

    .news{color:red;}
    

    同理,你也可以将archives.php,以及post.php等页面都照此法处理。

    ———————————注意—————————–

    据我观察,如果一篇文章属于多个分类,那么用<?php echo $this->category; ?>只能输出一个分类缩略名,暂时还没找到更好的办法。

  • typecho学习札记

    近日用typecho搭建了一个小站www.jingang.org (为何不用WP?那个VPS的内存不够大,WP是比较耗资源的,而且WP的速度不是很快,typecho在这方面是很有优势的),但是由于typecho的资料比较少,而且刚试用这个程序,很多都不懂,找了半天解决了一些小问题。

    首先是typecho的title我觉得写的不是很好,就找到了默认模板中header.php做了些修改。

    原来的title是这样的

    <title><?php $this->options->title(); ?><?php $this->archiveTitle(); ?></title>

    我把他改成这样的

    <title><?php if ($this->is(‘index’)){
    $this->options->title();
    }else{
    $this->archiveTitle(”,”,’|’);
    $this->options->title();
    }
    ?>
    </title>

    这样的效果是如果是首页就显示你的博客title,如果是其他页面就显示你的日志标题+你的博客title。

    还有一个就是对header.php中调用的那个$this->header() 做了个修改 ,$this->header()的定义在 /var/Widget/Archive.php中(开始我找了好久不知道在哪里定义的,后来在typecho坛子中羽中在回答别人的问题时提到了这个文件,激动哇)

    原来的$this->header()在header.php中加入了不少feed还有generator等信息,有的我不想要,就删除了。