(本教程同样适用于MiniCMS)
修改/index.php文件,在14行添加以下代码:
else if (preg_match('|^search/([^/]+)/(?page=([0-9]+)){0,1}$|', $qs, $matches)) {
$mc_get_type = 'search';
$mc_get_name = urldecode($matches[1]);
$mc_page_num = isset($matches[2]) ? $matches[3] : 1;
}
然后在67行添加以下代码:
else if ($mc_get_type == 'search') {
require 'files/posts/index/publish.php';
$mc_post_ids = array_keys($mc_posts);
$mc_post_count = count($mc_post_ids);
$mc_search_posts = array();
foreach($mc_posts as $k=>$v){
if(preg_match('/'.$mc_get_name.'/i',$v['title'])){
$mc_search_posts[$k] = $mc_posts[$k];
}
}
$mc_posts = $mc_search_posts;
$mc_post_ids = array_keys($mc_posts);
$mc_post_count = count($mc_post_ids);
}
修改/files/tags.php文件,在最后的?>之前添加以下代码:
function mc_is_search() {
global $mc_get_type;
return $mc_get_type == 'search';
}
function mc_search_name($print=true) {
global $mc_get_name;
if ($print) {
echo htmlspecialchars($mc_get_name);
return;
}
return $mc_get_name;
}
现在在地址栏你的域名后面添加/?search/关键字/,就可以看到搜索的结果了。
比如刚安装的BlogMi,地址是http://www.mogutest.com/,然后访问http://www.mogutest.com/?search/h/
就可以看到Hello world的那篇文章了。
接下来修改主题
修改主题目录下的index.php,在
标签中添加以下代码:
<script type="text/javascript" >
function Search(){
var key = document.getElementById(‘text’).value;
location.href = ‘./?search/’+key+’/’;
}
</script>
然后再合适的地方添加一个文本框:
<div class="search">
<input type="text" name="search" class="text" id="text" value="" />
<input type="button" class="submit" value="搜索" onclick="Search()" />
</div>
到这里搜索功能就添加完成了,还可以在page_info位置添加一个提示:
<?php } else if (mc_is_search()) { ?>
<div id="page_info"><span>搜索:<?php mc_search_name(); ?></span></div>
《“给博客迷BlogMi增加搜索功能”》 有 6 条评论
你好,博客,能不能请为博客迷BLogMi 加一个功能,就是有分类页的。?。
我很想要这个功能。能不能 花钱请你帮忙做一下。很喜欢这个模式的博客,但是就是少了分类页。
我做东西不用花钱,呵呵。你想要分页类是做什么呢,说的具体一点。我有时间的话,就帮你做一下。
你好我用的博客迷
搜索:
加到这里出现错误
这篇文章里的方法,只适用于原版程序和原版主题,如果不是原版,就要做相应的修改。
你好 我想请教下 给博客迷BlogMi的文章里面增加一个 上一篇和下一篇 这个代码要怎么写呀 还有就是只让她显示标题 当我们点击标题的时候 可以在新窗口打开么 而不是直接在本窗口打开 要让她在新的窗口打开 这个要是哪里设置呀 可以告诉我一下么 万分谢谢
新窗口打开:修改files/tags.php文件,查找
echo '">';
替换为echo '" target="_blank" >';
下一篇文章这个功能需要修改的地方比较多,有时间写个教程。