春天即将到来
Oct232010

Typecho用来做CMS

记得前段时间在群里,有个朋友问在Typecho里分别输出每个分类的5篇文章的函数应该怎么写,当时有两位高手写了两种不同的代码,我后来添加在一篇博文的后面,以备以后所需。今天清理文章,启用了高亮插件才发现,以前附写在这篇文章里面的,估计没人看到。于是就新开一篇文章来记录一下,以供有需要这种功能的Typecho人使用。

输出每个分类的5篇文章
华天和sκy给了两种写法,我把它记下来
<h4>1、sκy的(调用后台设置的pageSize)</h4>

<?php $this->widget('Widget_Metas_Category_List')->to($metas); ?>
          <?php while($metas->next()): ?> 
        <h4><a href="<?php $metas->permalink(); ?>"><?php $metas->name(); ?></a></h4>
        <ul>
<?php $myCustomCategory = "myCustomCategory".$metas->mid ;$this->widget("Widget_Archive@$myCustomCategory",'type=category',"mid= $metas->mid")->parse('<li><a href="{permalink}">{title}</a></li>'); ?>
        </ul>
        <?php endwhile; ?>

<h4>2、华天的(在模板里限定了pageSize=5)</h4>

<?php $this->widget("Widget_Archive@$metas->mid" ,"pageSize=5&type=category", "mid= $metas->mid")->parse('<dd><a href="{permalink}">{title}</a></dd>'); ?> 

<h4>3、小猜在群里说的,我记录下来</h4>

<?php $this->widget('Widget_Metas_Category_List@1')->to($metas); ?>

<!--/html代码-->

<?php $this->widget('Widget_Metas_Category_List@2')->to($metas); ?>

Widget_Archive@1 Widget_Archive@2 ....同理

<h4>输出摘要中的IMG</h4>(出处)在 Contents.php 文件中加,有如下两个方法

<?php 
    /** 
     * 输出摘要中的 IMG 
     * 
     * @access protected 
     * @return string 
     */ 
    protected function ___imgEx() 
    { 
        $contents = explode('<!--more-->', $this->text); 
        list($excerpt) = $contents; 
        $excerpt = strip_tags($excerpt,'<img>'); 
        preg_match("|<[^>]+>(.*)|u",$excerpt,$excerpt); 
        return $excerpt[0]; 
    } 
    ?> 

<?php 
     /** 
     * 输出 简短标题 
     * 
     * @access protected 
     * @return string 
     */ 
    protected function ___titleEx() 
    { 
        $title = $this->pluginHandle()->trigger($plugged)->title($this->title, $this); 
        preg_match("/\[[^\]]+\]/u", $title, $title); 
        $str = array('[',']'); 
        $title = str_replace($str, '', $title[0]); 
        return $title; 
    } 
    ?>

第一个方法可能你也用得着,功能是获取摘要中完整的 “img” 标签;第二个方法可能你就用不着了,功能只是为了截取第一个“[]”并过虑掉“[”、“]”

<h4>Typecho前台编辑文章</h4>

<small><a href="<?php $this->options->adminUrl('write-post.php?cid=' . $this->cid); ?>">编辑</a></small>

<h4>typecho按ID区分作者贴子</h4>

<?php $this->widget('Widget_Archive@myCustomAuthor', 'type=author', 'uid=3')->to
    ($AuthorPosts); ?>
    <?php while($AuthorPosts->next()): ?>
    <?php $AuthorPosts->permalink() ?>  //其实就是把 $this 换成 $AuthorPosts 其他函数代入即可
    <?php endwhile; ?>

<h4>按用户对文章进行归档</h4>

<?php $this->author->permalink(); ?>

<h4>不同分类在post调用不同的模板</h4>

<?php if($this->category == "分类A的缩略名"): ?>
这里是分类A的文章页面HTML代码
<?php else: ?>
这里是分类B的文章页面HTML代码
<?php endif; ?>

<h4>输出分类文章列表及首篇摘要 <font color=#5F9EA0>分类及列表</font></h4>
<h4>当然少不了很出名的CMS插件,这是不烦恼的力作 <font color=#5F9EA0>更新页面</font></h4>

1、文章幻灯效果:BufannaoCms_Plugin::slideShow()->to($slider) 
2、推荐文章列表:BufannaoCms_Plugin::topShow()->to($top) 
3、文章相册效果:BufannaoCms_Plugin::albumShow()->to($album) 
4、随机文章列表:BufannaoCms_Plugin::randomShow()->to($randomShow) 
5、热评文章列表:BufannaoCms_Plugin::hotShow()->to($hot) 
6、评论留言分离:BufannaoCms_Plugin::onlyComment()->to($comments)   BufannaoCms_Plugin::onlyMessage()->to($messages) 
7、评论足迹功能:BufannaoCms_Plugin::CommentTracks()->to($tracks) 
8、内容引用功能:BufannaoCms_Plugin::quoteShow('slug', 'tag') 
9、文章分页功能:文章内容中插入< !-- nextpage--> 
10、随机标签功能:BufannaoCms_Plugin::randomTag()->to($tags) 
11、文章自定义排序:$widget->widget($widget, '', 'orderBy=col') 
12、调用文章中的第一个图片:返回图片 $widget->firstImageUrl;    显示图片 $widget->firstImageUrl()


27 个流言蜚语 (制造者:17 个流言, 博主:10 次澄清)散布流言

  1. ghb
    ghb 2010年10月24日   [Internet Explorer 7.0 @ Windows Vista]
    沙发 回复

    写得比较专业。不错。。。。。。。。。。。。。。

    1. 飞天舞
      飞天舞 (博主) 2010年10月26日   [Internet Explorer 8.0 @ Windows XP]
      第1沙 回复

      可怜我啊,在群里看到高手写下一段代码,就马上保存起来,以备需要的时候。

  2. 稻草人
    稻草人 2011年06月23日   [Google Chrome 12.0.742.100 @ Windows XP]
    板凳 回复

    我想在首页屏蔽某个分类,咋弄

    1. 飞天舞
      飞天舞 (博主) 2011年06月23日   [Google Chrome 12.0.742.9 @ Windows XP]
      第1凳 回复

      这个我可不懂,群里问别的搞手吧。

    2. 飞天舞
      飞天舞 (博主) 2011年06月23日   [Google Chrome 12.0.742.9 @ Windows XP]
      第1凳 回复

      刚发出去就想起来了,猜猜写过一个插件叫Typecho Plugin HideOneCate,可以在主要的索引列表中隐藏掉某个分类。
      详情:Typecho Plugin HideOneCate

  3. 第四个李智
    第四个李智 2011年10月24日   [Google Chrome 14.0.835.202 @ Windows 7]
    地毯 回复

    请教!!!!!可不可以 单独调用 某个分类!!!!

    1. 飞天舞
      飞天舞 (博主) 2011年10月24日   [Google Chrome 14.0.825.0 @ Windows XP]
      第1毯 回复
       <?php $this->widget('Widget_Archive@index', 'pageSize=6&type=category', 'mid=3')->parse('<li><a href="{permali<x>nk}">{ti<x>tle}</a></li>'); ?>

      mid为分类ID

      1. 第四个李智
        第四个李智 2011年10月24日   [Google Chrome 14.0.835.202 @ Windows 7]
        第2毯 回复

        还是木有用。。。在index调用 分类1.2.3.4.6结果2.3.4.6内容和1调用出来的类似。 :sad:

        1. 第四个李智
          第四个李智 2011年10月24日   [Google Chrome 14.0.835.202 @ Windows 7]
          第3毯 回复

          试了 不烦恼的 http://bufannao.com/archives/typechoError.html 也木有用。
          但是不烦恼的主页却达到了那个效果。

        2. 飞天舞
          飞天舞 (博主) 2011年10月24日   [Google Chrome 14.0.825.0 @ Windows XP]
          第3毯 回复

          不清楚你是什么状况,以前我在导航和侧栏调用分类,会出现冲复的东西。不烦恼的那篇文章我按照方法改了后就没问题了。不知道你是不是遇到这个问题了?

          1. 第四个李智
            第四个李智 2011年10月24日   [Google Chrome 14.0.835.202 @ Windows 7]
            第4毯 回复

            他的改法是不是就直接替换&为@,我在试试。

          2. 第四个李智
            第四个李智 2011年10月24日   [Google Chrome 14.0.835.202 @ Windows 7]
            第4毯 回复

            http://cssf.cabcv.com/index.php 就是这样的情况。

            1. 飞天舞
              飞天舞 (博主) 2011年10月24日   [Google Chrome 14.0.825.0 @ Windows XP]
              第5毯

              这个你得问会php的牛人啊,联系一下不烦恼吧,他对typecho的代码研究很彻底的。

        3. 119977
          119977 2013年02月08日   [Mozilla FireFox 18.0 @ Windows 7]
          第3毯 回复

          你不会是一篇文章很多个分类吧,那样就会出现重复,上面那段代码如果能改成随机显示该分类下的文件,就完美了。

          1. 第四个李智
            第四个李智 2013年02月09日   [Google Chrome 26.0.1386.0 @ Windows]
            第4毯 回复

            如果一片文章存于多个分类信息你们会在多个分类中出现,我那个是因为代码调用有点问题。。。

  4. 第四个李智
    第四个李智 2011年10月24日   [Google Chrome 14.0.835.202 @ Windows 7]
    门口 回复

    非常感谢,打扰了。回头见、:grin:

  5. php点点通
    php点点通 2012年03月13日   [Internet Explorer 8.0 @ Windows 7]
    走廊 回复

    php点点通是我的博客,请问 你的喜欢推荐插件是怎么弄的

    1. 飞天舞
      飞天舞 (博主) 2012年03月13日   [Google Chrome 17.0.963.79 @ Windows XP]
      第1廊 回复

      你好,推荐文章是用的《不烦恼CMS》插件里的一个功能,可以对某些文章进行推荐,固定于某个侧栏。

  6. php点点通
    php点点通 2012年03月13日   [Internet Explorer 8.0 @ Windows 7]
    楼梯 回复

    你的qq是多少啊? 我是菜鸟大学生一个 学php不久 愿意向你学习。。。。

    1. 飞天舞
      飞天舞 (博主) 2012年03月13日   [Google Chrome 17.0.963.79 @ Windows XP]
      第1梯 回复

      不好意思,恐怕得让你失望了,我更是菜鸟一个。 icon_8
      不要被上面的代码所迷惑,这些好多都是别人的经验,我只是为了自己方便,所专门给收集而已。

  7. php点点通
    php点点通 2012年03月13日   [Internet Explorer 8.0 @ Windows 7]
    宅院 回复

    没事啊 我可以向你请教te的知识 我刚用不久 很多不懂

    1. 飞天舞
      飞天舞 (博主) 2012年03月13日   [Google Chrome 17.0.963.79 @ Windows XP]
      第1院 回复

      有我能帮得上忙的,你可以直接留言就好。
      官方有个QQ群 8110782,里面大多都是高手。

  8. php点点通
    php点点通 2012年03月13日   [Internet Explorer 8.0 @ Windows 7]
    小区 回复

    感谢啦。。。已加入了

  9. 梦里
    梦里 2012年03月18日   [Google Chrome 15.0.874.106 @ Windows 7]
    街道 回复

    一个轻便的博客,最好别把它搞得太臃肿了。cms我认准drupal icon_14

    1. 飞天舞
      飞天舞 (博主) 2012年03月18日   [Google Chrome 17.0.963.79 @ Windows XP]
      第1街 回复

      也许标题写得有点大了,自己可以适当地增加些东西,借以完成某些用户需要的功能,加强用户体验与站内联系。

  10. 我的名字叫麒
    我的名字叫麒 2013年01月27日   [Google Chrome 25.0.1323.1 @ Windows 7]
    10号大院 回复

    Typecho似乎越来越火了

  11. 119977
    119977 2013年02月09日   [Mozilla FireFox 18.0 @ Windows 7]
    11号大院 回复

    咦改版了

增加一个流言 »

未曾错过

    • 秋天: 舞哥,谢谢你...
    • sha: 终于可以访问了啊。
    • 阿飞: 你终于又回来了
    • 952: 舞哥好久没更新了呀
    • 阿信: 一种倔强,是...
    • mai: 打呼噜据说是太累了
    • 孙华: 新年快乐!
    • 孙华: 已经回家了,...
    • rai: 这首歌特别叼
    • 浩子: 最近比较烦躁...