typecho获取分类页面的分类mid

编辑

在出题开发时,我们想通过设置为不同分类设置不同样式排版时,想使用mid参数进行配置,但好像没有什么直接的方法?

不过可以通过这个获取当前页面缩略名$this->getArchiveSlug()的方法,来进行数据库查询查到分类mid.

写查询函数

函数如下,就是传递下当前slug然后查询分类表进而获取mid,标签页面也通用

function remid($slug){
        $db = Typecho_Db::get();
        $info=$db->fetchRow($db->select('mid')->from('table.metas')
                    ->where('table.metas.slug = ?', $slug));
        return $info['mid'];
    }

使用

调用函数,传递当前页面缩略名$this->getArchiveSlug()就可以了

<?php $mid=remid($this->getArchiveSlug()); ?>

补充

貌似typecho1.2.1可以使用$this->pageRow['mid']直接获取了

评论区

  1. 寻梦xunm 寻梦xunm
    寻梦xunm

    可以试一试这个代码“$this->pageRow['mid']”