typecho自定义Title部分

发表于 2013-11-07   |   分类于 笔记

自定义一下标题,以下为代码和参考案例:

<?php if($this->_currentPage>1) echo '第 '.$this->_currentPage.' 页 - '; ?><?php $this->archiveTitle('', '', ' - '); ?><?php $this->options->title(); ?>
<?php if($this->is('index')): ?> - 自定义关键词<?php endif; ?>

typecho首页不显示某分类

发表于 2013-08-09   |   分类于 笔记
<?php while($this->next()): ?>
<?php if($this->category != "cateslug"): ?>
//正常输出循环
<?php endif; ?>
<?php endwhile; ?>

typecho网站运行时间

发表于 2013-08-08   |   分类于 笔记

以下代码,放置于functions.php中:

// 设置时区
date_default_timezone_set('Asia/Shanghai');
/**
 * 秒转时间,格式 年 月 日 时 分 秒
 * 
 * @author Roogle
 * @return html
 */
function getBuildTime(){
    // 在下面按格式输入本站创建的时间
    $site_create_time = strtotime('2010-09-10 00:00:00');
    $time = time() - $site_create_time;
    if(is_numeric($time)){
        $value = array(
            "years" => 0, "days" => 0, "hours" => 0,
            "minutes" => 0, "seconds" => 0,
        );
        if($time >= 31556926){
            $value["years"] = floor($time/31556926);
            $time = ($time%31556926);
        }
        if($time >= 86400){
            $value["days"] = floor($time/86400);
            $time = ($time%86400);
        }
        if($time >= 3600){
            $value["hours"] = floor($time/3600);
            $time = ($time%3600);
        }
        if($time >= 60){
            $value["minutes"] = floor($time/60);
            $time = ($time%60);
        }
        $value["seconds"] = floor($time);
        
        echo ''.$value['years'].'年'.$value['days'].'天'.$value['hours'].'小时'.$value['minutes'].'分';
    }else{
        echo '';
    }
}

在模板中调用:

<?php getBuildTime(); ?>

typecho像CMS一样 - 输出所有分类+文章

发表于 2013-07-26   |   分类于 笔记

像CMS那样,输出全部分类,并按分类输出文章:

/* 循环所有的分类 */
<?php $this->widget('Widget_Metas_Category_List')->to($categories); ?>
<?php while ($categories->next()): ?>
 
/* 循环当前分类下的文章 */
<?php $this->widget('Widget_Archive@category-' . $categories->mid, 'pageSize=7&type=category', 'mid=' . $categories->mid)->to($posts); ?>
<div class="posts">
    <?php while ($posts->next()): ?>
    <?php if (1 == $posts->sequence): ?>  //判断第一篇文章
    <h3>[<?php $categories->name(); ?>]:<a href="<?php $posts->permalink(); ?>"><?php $posts->title(43); ?></a></h3>
    <?php $posts->excerpt(120, '...'); ?>
    <ul class="post-list">  //文章列表
    <?php else: ?>
        <li>
            <a href="<?php $posts->permalink(); ?>"><?php $posts->title(40); ?></a>
            <span class="comment-num">(<?php $posts->commentsNum(); ?>)</span>
        </li>
    <?php endif; ?>
    <?php endwhile; ?>
    </ul>
</div>
<?php endwhile; ?>

typecho模板技巧之判断插件是否激活

发表于 2013-07-18   |   分类于 笔记

模板部分,判断是否加载插件:

<?php $all = Typecho_Plugin::export();?>
<?php if (array_key_exists('插件名称', $all['activated'])) : ?>
...........
...........
<?php endif; ?>

打开Typecho网站文件:var/Widget/Abstract/Contents.php
我的Typecho版本1.1(17.10.30)在744行左右,找到:

$value['title'] = _t('此内容被密码保护');

改成下面的这个,也就是注释注释掉这行就好了。

/** $value['title'] = _t('此内容被密码保护'); */

typecho自定义某分类并输出缩略图

发表于 2013-06-26   |   分类于 笔记

自定义调用某分类,并输出缩略图

<?php $this->widget('Widget_Archive@index', 'pageSize=4&type=category', 'mid=23')->to($indexpub); ?>
<?php while($indexpub->next()): ?>
    <?php $indexpub->permalink(); ?>
    <?php $indexpub->title() ?>
    <?php Fimg_Plugin::showfimg($indexpub->cid,4);?>
    <?php $indexpub->excerpt(80, '……'); ?>
<?php endwhile; ?>

typecho获取分类描述

发表于 2013-06-26   |   分类于 笔记
<?php echo $this->getDescription(); ?>

案例演示:

<?php $this->widget('Widget_Metas_Category_List')
->parse('<li><a href="{permalink}" title="{description}">{name}</a> ({count})</li>'); ?>

调用自定义分类最新文章

发表于 2013-06-26   |   分类于 笔记

调用某分类最新文章,pageSize是数量,mid是分类号:

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

typecho判断域名调用不同表前缀

发表于 2013-06-26   |   分类于 笔记
if($_SERVER["HTTP_HOST"]=="a.com" || $_SERVER["HTTP_HOST"]=="www.a.com"){
$db = new Typecho_Db('Mysql', 'a_');
}
else if($_SERVER["HTTP_HOST"]=="b.com" || $_SERVER["HTTP_HOST"]=="www.b.com"){
$db = new Typecho_Db('Mysql', 'b_');
}

typecho判断域名调用不同表前缀

发表于 2013-06-26   |   分类于 笔记
if($_SERVER["HTTP_HOST"]=="a.com" || $_SERVER["HTTP_HOST"]=="www.a.com"){
$db = new Typecho_Db('Mysql', 'a_');
}
else if($_SERVER["HTTP_HOST"]=="b.com" || $_SERVER["HTTP_HOST"]=="www.b.com"){
$db = new Typecho_Db('Mysql', 'b_');
}

typecho缩略图函数分享

发表于 2013-06-26   |   分类于 笔记

在主题下functions.php文件中加入以下代码:

function thumb($cid) {
if (empty($imgurl)) {
$rand_num = 10; //随机图片数量,根据图片目录中图片实际数量设置
if ($rand_num == 0) {
$imgurl = "随机图片存放目录/0.jpg";
//如果$rand_num = 0,则显示默认图片,须命名为"0.jpg",注意是绝对地址
    }else{
$imgurl = "随机图片存放目录/".rand(1,$rand_num).".jpg";
//随机图片,须按"1.jpg","2.jpg","3.jpg"...的顺序命名,注意是绝对地址
}
}
 $db = Typecho_Db::get();
 $rs = $db->fetchRow($db->select('table.contents.text')
    ->from('table.contents')
    ->where('table.contents.type = ?', 'attachment')
    ->where('table.contents.parent= ?', $cid)
    ->order('table.contents.cid', Typecho_Db::SORT_ASC)
    ->limit(1));
$img = unserialize($rs['text']);
if (empty($img)){
    echo $imgurl;
}
else{
    echo '你的博客地址'.$img['path'];
}
}

模板处调用:

<?php echo thumb($this->cid); ?>

效果:如果有图片附件,就调用第1个图片附件,否则随机显示。

© 2020 Powered by Typecho & Theme Quark