「红辣椒」我可以划船不用浆!我可以扬帆没有风向!因为我这一生!全靠浪!
不辣不青春

今天把TYPECHO伪静态整理了一下,如下:

一、Apache

<IfModule mod_rewrite.c>
RewriteEngine On
# 下面是在根目录,文件夹要修改路径,如 /typecho/,同时 RewriteRule 也要跟着变
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

外加一个顶级域名和二级域名的跳转

阅读全文

只首页只第一篇文章样式显示不一样,可以用以下判断:

<?php if (($this->_currentPage == 1) && ($this->sequence == 1)): ?>
... //首页第一篇文章
<?php else: ?>
... //其它文章
<?php endif; ?>

判断第一篇文章:

阅读全文

1.编辑 functions.php 文件

在其中加入以下代码:

/**
* 输出文章缩略图
*
* @author ShingChi
* @access public
* @param int $width 缩略图宽度 
* @param int $height 缩略图高度
* @return viod
* @version Release 1.0.4
*/
function getThumbnail($widget, $width, $height)
{
$options = $widget->widget('Widget_Options');

/** 默认图片目录、后缀 */
$path = $options->themeUrl . '/images/category/'; // 路径:模板文件夹/images/category/图片为分类缩略名
$suffix = '.jpg';

/** 文章相关 */
$cid = $widget->cid;
$title = $widget->title;
$content = $widget->text;
$category = $widget->category;
$link = $widget->permalink;

$db = Typecho_Db::get();
$sql = $db->select('text')
->from('table.contents')
->where('type = ? AND parent = ?', 'attachment', $cid)
->limit(1);
$attach = $db->fetchRow($sql);

if (empty($attach)) { // 没有附件时从文章内容读取
$pattern = '/\<img.*?src\=\"(.*?)\"[^>]*>/i'; // 匹配文章内容中的图片

if (preg_match_all($pattern, $content, $thumbUrl)) {
echo '<a href="' . $link . '"><img src="' . $thumbUrl[1][0] . '" width="' . $width . '" height="' . $height . '" alt="' . $title . '" /></a>';
} else {
echo '<a href="' . $link . '"><img src="' . $path . $category . $suffix . '" width="' . $width . '" height="' . $height . '" alt="' . $title . '" ></a>';
}
} else { // 从附件中读取
$attachText = unserialize($attach['text']);
$isImage = '/gif|jpg|jpeg|bmp|png/i'; // 匹配图片附件类型

if (preg_match($isImage, $attachText['type'])) {
echo '<a href="' . $link . '"><img src="' . $options->themeUrl . '/timthumb.php?src=' . $options->siteUrl . $attachText['path'] . '&q=100&w=' . $width . '&h=' . $height . '" alt="' . $title . '" /></a>';
} else {
echo '<a href="' . $link . '"><img src="' . $path . $category . $suffix . '" width="' . $width . '" height="' . $height . '" alt="' . $title . '" ></a>';
}
}
}

2.使用缩略图

阅读全文

进入你的 phpmyadmin,点击运行 SQL 选项。在输入框里输入以下语句:

UPDATE `typecho_contents` SET `text` = REPLACE(`text`,'旧域名地址','新域名地址');

然后点执行语句即可。

<?php $this->excerpt(); ?>

括号中参数,第一个是限制字数,第二个是省略符号,如

<?php $this->excerpt(200, '...'); ?>

附个冰剑的方法

<?php $this->excerpt($this->options->excerptLength, '...'); ?>

1.不同分类输出不同模板

先在当前模板目录下建立一个 category 目录,然后比如你要给 slug 为 default 的分类专门建立模板,那么就在 category 目录下创建一个名为 default.php 的文件,这样程序在访问 default 分类时会自动调用这个模板文件。

使用 $this->categories 和 $this->category 这两个变量就可以满足你的需要了,不过需要你自己手动循环输出。你可以 print_r 一下这两个变量,看看它们的结构。

2.适用于所有有分类区别的页面

<?php if ($this->category == "分类A的缩略名"): ?>
// 这里是分类A的样式
<?php elseif ($this->category == "分类B的缩略名"): ?>
// 这里是分类B的样式
<?php else: ?>
// 这里是分类C的样式
<?php endif; ?>

附:分类名称调用

<?php $this->category(','); ?> //带连接的分类名称,逗号为多分类时的间隔符
<?php $this->category(',', false); ?> //不带连接的纯粹的分类名称,类似评论者名称调用, $comments->author('', false) 显示不带连接的名称