Typecho 调用分类文章列表
其中pageSize后面的数字表示调用文章的数量;mid后面的数字表示调用的分类ID;
提示:Typecho分类目录ID的获取方法是把鼠标移到某分类名称上面,在浏览器状态栏显示的mid=后面的数字便是该分类目录ID
编辑当前typecho主题模板,在要调用某分类目录的位置添加以下代码
方法一:
widget()方法进行组件初始化,然后使用next()进行迭代
<?php $this->widget('Widget_Archive@index', 'pageSize=6&type=category', 'mid=5')->to($list); while($list->next()): ?> <article class="post" itemscope itemtype="http://schema.org/BlogPosting"> <h2 class="post-title" itemprop="name headline"><a itemprop="url" href="<?php $list->permalink() ?>"><?php $list->title() ?></a></h2> <ul class="post-meta"> <li itemprop="author" itemscope itemtype="http://schema.org/Person"><?php _e('作者: '); ?><a itemprop="name" href="<?php $list->author->permalink(); ?>" rel="author"><?php $list->author(); ?></a></li> <li><?php _e('时间: '); ?> <time datetime="<?php $list->date('c'); ?>" itemprop="datePublished"><?php $list->date(); ?></time></li> <li><?php _e('分类: '); ?><?php $list->category(','); ?></li> <li itemprop="interactionCount"><a itemprop="discussionUrl" href="<?php $list->permalink() ?>#comments"><?php $list->commentsNum('评论', '1 条评论', '%d 条评论'); ?></a> 浏览量:<?php Views_Plugin::theViews(); ?> 文章字数:<?php $list->charactersNum(); ?></li> </ul> <div class="post-content" itemprop="articleBody"> <?php $list->content('- 阅读剩余部分 -'); ?> </div> </article> <?php endwhile; ?>
方法二:
parse()方法;
<?php $this->widget('Widget_Archive@index', 'pageSize=6&type=category', 'mid=3')->parse('<li><a href="{permalink}">{title}</a></li>'); ?>
我的代码
<?php $authordate = authorName(); ob_start(); $this->options->themeUrl('static/picture/loading.gif'); $bgm = ob_get_contents(); ob_end_clean(); $sortIds = $this->options->sortIds; if(!empty($sortIds)){ $class = ''; $array = explode(',',$sortIds); foreach($array as $k => $id){ $class = $k==0?'active':''; $pom = sortTrue($id); echo '<a href="javascript:;" title="" class="cmsgoto '.$class.'" data-tab="tab'.$pom[0]["mid"].'">'.$pom[0]["name"].'</a>'; $this->widget('Widget_Archive@index-'.$pom[0]["mid"], 'pageSize=12&type=category', 'mid='.$pom[0]["mid"])->to($list); while($list->next()){ $li.='<li> <a href="'.$list->permalink.'" class="card" title="'.$list->permalink.'" target="_blank"> <div class="card-header"> <img class="lazy" src="'.$bgm.'" data-original="'.showThumbnail($list->text).'" alt="'.$list->permalink.'"> <div class="card-title"> <h3>'.$list->title.'</h3> <span>'.$authordate[$list->authorId].'</span> </div> </div> <div class="card-body"> <span class="card-time"><i class="icon-clock"></i>'.date("m-d",$list->created).'</span> <span class="card-go">查看</span> </div> </a> </li>'; } $sortUl.='<ul class="index-cms-box '.$class.'" id="tab'.$pom[0]["mid"].'">'.$li.'</ul>'; $li = ''; } echo '</div>'; echo $sortUl; } ?>