1、DedeCms的搜索框,改为整合各大搜索引擎的多功能搜索框
编辑打开模板文件 head.htm,把<form></form>之间的代码,替换为以下代码:
- <form name=bfsubmit=”bottomForm();return false;”>
- <script>
- function bottomForm(){
- var $=document.bf.key.value;
- if(document.bf.sto[0].checked)window.open(“./plus/search.php?kwtype=0&keyword=”+$,”a1”);
- if(document.bf.sto[1].checked)window.open(“http://www.baidu.com/s?q1=”+”&q6=blog.sina.com.cn”,”a2″);
- if(document.bf.sto[2].checked)window.open(“http://www.google.com/search?hl=zh-CN&q=”+”&as_sitesearch=blog.sina.com.cn”,”a3″);
- // if(document.bf.sto[3].checked)window.open(“http://www.gougou.com/search?id=1&search=”+$,”a4”);
- // if(document.bf.sto[4].checked)window.open(“http://map.baidu.com/m?word=”+$,”a5”);
- // if(document.bf.sto[5].checked)window.open(“http://bk.baidu.com/?kw=”+”&submit=search”,”a6″);
- return false}
- </script> <div class=”form”>
- <h4>搜索</h4>
- <!– <input name=”key” class=”search-keyword” value=”(输入搜索内容……)”> –>
- <input name=”key” class=”search-keyword” value=”(输入搜索内容……)” onfocus=”if(this.value==’(输入搜索内容……)’){this.value=”;}” onblur=”if(this.value==”){this.value=’(输入搜索内容……)’;}”>
- <input name=sto type=radio value=”0″ checked=true>本站内
- <input name=sto type=radio value=”1″><a href=”http://www.baidu.com”>百度</a>
- <input name=sto type=radio value=”2″><a href=”http://www.google.cn”>Google</a>
- <!–
- <input name=sto type=radio value=”3″><a href=”http://www.gougou.com”>狗狗</a>
- <input name=sto type=radio value=”4″><a href=”http://map.baidu.com”>地图</a>
- <input name=sto type=radio value=”5″><a href=”http://baike.baidu.com”>百科</a>
- —>
- <button type=”submit” class=”search-submit”>搜索</button>
- </div>
- </form>
其中,“blog.sina.com.cn” 换成你自己的独立域名。
2、DedeCms用SQL语句调用数据库任意内容方法
1.首页在后台单页文档管理里添加一个单页文档,内容编辑框输入你要的内容生成。
2. 在需要调用单页文档的地方加入SQL万用标签 {dede:sql sql=”select body from dede_sgpage where aid=2″}[field:body /] {/dede:sql} 相信熟悉SQL语言的朋友很容易看懂这句含义。意思其实就是选择数据表dede_sgpage 的body字段输入,aid=2 这里的2表示你创建单页文档ID数字,你使用时做下相应修改即可。
又如这句SQL标签样例代码
- {dede:sql sql=”select content from dede_arctype where id=2″}
- [field:content function=cn_substr(Html2Text(@me),600)/]
- {/dede:sql}
根据上面的例子,应该很好理解了,这里主要说明一下cn_substr表示截取600个字符也就是300个汉字。Html2Text代表把含有HTML的字符过滤掉,只显示文本。
其实除了上面的例子外,在Dede系统里面,我可以可以自由使用SQL语句来配合织梦标签进行更多的个性化调用。他们的基本参照格式为:
- {dede:sql sql=”select 字段 From 表名称 where 条件语句”}
- [field:字段名/]
- {/dede:sql}
由上面这种基本格式,我们就可以基本转换出一条调用文档列表的调用标签了,代码为:
- {dede:sql sql=”select * From dede_archives limit 10″}
- <li>·<a href=”/plus/view.php?aid=[field:id/]”>[field:title/]</a></li>
- {/dede:sql}
大家看到了上面的文档链接的底层模板地址的是动态的,那么我们要怎么样来进行转换,让他链接到静态地址呢,这里我们只需要对[field:id/]进行一下转换,转换后的完整代码为:
- {dede:sql sql=”SELECT * FROM dede_archives limit 10″}
- <li>·<a href=”[field:id runphp=’yes’] $id=@me;@me=”;$url=GetOneArchive($id);@me=$url[‘arcurl’];[/field:id]” title=”[field:title/]” target=”_blank”>[field:title function=cn_substr(@me,30,0)/]</a></li>
- {/dede:sql}
3、去除织梦CMS文章和列表分页标签源码中的 li 的方法
找到/include/arc.listview.class.php以arc.archives.class.php文件
查找:<li> 全部替换为”空”
查找:</li>全部替换为”空”
查找:<li class=”thisclass”> 全部替换为”空”
保存,覆盖原文件即可。
4、DedeCMS删除所有栏目或文章后,新建ID不从1开始的解决方法
只需要在后台系统-SQL命令行工具里面运行以下语句即可,不用采用笨方法重新安装织梦CMS了。
删除所有栏目,新建ID从1开始:
- ALTER TABLE `dede_arctype` AUTO_INCREMENT =1;
删除所有文章,新发布文章ID从1开始:
- ALTER TABLE `dede_archives` AUTO_INCREMENT =1;
5、DedeCms去掉栏目页面包屑导航最后的分隔符“>”
织梦DedeCms的面包屑导航调用标签{dede:field name=’position’ /},在栏目页里调用的面包屑导航,最后会出现分割符号“>”,如:主页 > DedeCms 模板 >
用下面这两种方法可以将最后的分割符“>”,用如下代码调用面包屑导航标签:
- {dede:field name=’position’ runphp=’yes’}
- $a=mb_strlen(@me);//计算字符串的长度
- @me=cn_substr(@me,$a-2,-1);//截取字符
- {/dede:field}
或者修改系统文件,编辑打开include/typelink.class.php 文件
查找: return $this->valuePosition.$this->SplitSymbol;
修改为:return $this->valuePosition;
6、DedeCms限制文章页上一篇、下一篇文章标题字数
为了避免文章标题字数过多,影响美观,我们可以对其进行控制。
1、编辑打开include/arc.archives.class.php文件
查找:$this->PreNext[‘pre’] = “上一篇:{$preRow[‘title’]} “;
在这一行上面加上以下代码
$preRow[‘title’]=cn_substr($preRow[‘title’],30);//最多显示15个汉字
查找:$this->PreNext[‘next’] = “下一篇:{$nextRow[‘title’]} “;
在这一行上面加上以下代码
$nextRow[‘title’]=cn_substr($nextRow[‘title’],30);//最多显示15个汉字
然后再重新生成所有页面即可。
7、Dedecms文章发布时“来源”或者“作者”没内容时隐藏
下面这段代码可以在不填写来源信息的时候,显示指定信息或者不显示来源或者作者。
{dede:field name=’source’ runphp=’yes’}
if(@me == “”) @me = “”;else @me = “来 源:”.@me;
{/dede:field}
{dede:field name=’writer’ runphp=’yes’}
if(@me == “”) @me = “”;else @me = “作 者:”.@me;
{/dede:field}
上面代码加了个if和else进行判断,if(@me == “”) @me = “”; 如果为空,则不显示内容。否则显示填写的内容。
8、DedeCms发布文章时输入Tag标签逗号自动变成英文标点的方法
以下是修改方法:
编辑打开templets/article_add.htm文件,然后查找如下代码:
<input name=”tags” type=”text” id=”tags” value=”<?php echo $tags; ?>” style=”width:300px” />
修改为:
<input name=”tags” type=”text” id=”tags” value=”& lt;?php echo $tags; ?>” onkeyup=”this.value=this.value.replace(/, /g, ‘,’); ” style=”width:300px” />
注意,以上只是修改了增加新文章的标签逗号的自动切换,如果你想把编辑文章、添加新软件等的标签也修改成这样的话,那么找到相应的模板按上述方法修改就可以了。
9、DedeCms鼠标移到标题处显示完整标题
有些标题过长,为了页面的美观,会对标题的长度进行控制,会截断一些。给标题加上title属性就能让读者把鼠标移到标题上就能显示完整标题了。之前我也注意到要把title给添加上,用的是以下这种方式。
<a href=”[field:arcurl/]” title=”[field:title/]”>[field:title/]</a>
但是生成的时候,title里面的标题还是会别截断,换成title=”[field:fulltitle/]”标签就解决了。方法如下:
<a title=”[field:fulltitle/]” href=”[field:arcurl/]”>[field:title/]</a>
10、UCweb浏览器访问织梦DedeCms Wap页面空白解决办法
编辑打开/templets/wap/index.wml文件,查找<card id=’start’ ontimer=’#main’> ,将
<card id=’start’ ontimer=’#main’>
<timer value=’10’ />
<p align=’center’>
DedeCms Wap Load…
</p>
</card>