让Typecho搜索结果页面输入框和百度搜索一样显示当前关键字

Typecho 搜索功能增强

Tyoecho感觉越来越好用,因为模版定制空间非常大,typecho0.9增加自定义字段功能后更加强劲。

当然堃埜这篇文章可不是讲自定义字段,讲一个小细节,这个”BUG”修复用到了万能的if is。

我们浏览一个页面或者一个站点都会有一个目的,为了完成我们的任务我们经常会对过多的内容进行检索操作也就是搜索。
一般我们用google或者百度搜索关键字时,搜索结果页面都还会有一个输入框便于我们二次操作,第二次操作我们可能是删除输入框中的当前关键字,也有可能是删减或修改。
这时搜索结果页面当前关键字还在搜索框内就让我们更便捷继续操作,用户体验中有一个概念就是引导用户去做且别打断操作,在搜索结果页面的输入框中保留当前关键字也连贯了操作。

如果像typcho这样在搜索结果页不保留当前关键字,如果我们搜索“typecho模版”,到了结果页发现没需要的内容或者就没有内容可能我们就会搜“typecho模版代码”这时我们就要重新去输入前面本无需输入的内容再输入一次,这可能就会打断操作或者让过程变得繁琐起来。而且当所有搜索引擎都提供而你不提供那么很容易违背用户习惯而造成反感或者放弃操作。

以上是堃埜对搜索结果页的一些个人看法,如果有需要的朋友可以参考以下代码,当然如果你有更简短的代码,堃埜非常期待你的分享。

核心代码,给输入框加上value值,值为当前页面名称,只显示在search页面

1
<?php if($this->is('search')): ?> value="<?php $this->archiveTitle(' &raquo; ', '', ''); ?>"<?php endif; ?>

效果演示,见以及乐右边栏搜索框

1
2
3
<div class="search mod">
<form class="float-no" id="search" method="post" action="./" role="search"><div><input type="text" name="s" class="text" placeholder="预防鼠标手,搜索用回车!"<?php if($this->is('search')): ?> value="<?php $this->archiveTitle(' &raquo; ', '', ''); ?>"<?php endif; ?> /><input type="submit" class="submit" value="搜"></div></form>
<!--end.search--></div>

Relay Tips: 一极乐https://yijile.com/log/357/