织梦常见问题整理.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date织梦常见问题整理织梦常见问题整理1. 多级分类问题问题名称:大类下没有小类的时候输出大类名。 dede:channelartlist typeid='2' <li> <a href='dede:field name='typeurl'/'>dede:field name='typename'/</a> <ul> dede:channel type='son' noself='yes' <li><a href='field:typelink/'>field:typename/</a></li> /dede:channel </ul> </li> /dede:channelartlist需要修改includetaglibchannel.lib.php 108行 删除 2. 搜索页调用文章内容看到技巧版有一篇文章,测试后正常使用include 引入一个文件,形式为:dede:include file='文件名称' ismake='是否为dede板块模板(yes/no)'/对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录例如:搜索页面模板加入dede:include file='123.htm' ismake='yes'/dede默认模板路径 新建一个123.htm文件文件里面加入dede:arclist orderby='click' row='8' <li>field:textlink/</li>/dede:arclist其它不能使用arclist 标签的页面应该是同理可以使用的3. sql联合两个表查询自定义字段并加链接代码示例:dede:sql sql='select c.cour_address,c.sta_time,c.cour_mon,c.aid,a.title from std_course c,std_archives a where c.aid=a.id order by c.sta_time desc limit 0,24'<tr><td><img src="/templets/default/images/i1.gif"></td><td>field:cour_address /</td><th><p><a href="/plus/view.php?aid=field:aid/">field:title function='cn_substr(me,35)'/</a></p></th><td>field:sta_time function="MyDate('Y-m-d',me)"/</td><td>field:cour_mon /</td></tr>/dede:sql4. 查询添加字段问题:dede:arclist row='11' titlelen='30' addfields='cour_address,sta_time,cour_mon' typeid='12' channelid='17'<tr><td><img src="/standing/templets/default/images/i1.gif"></td><td>field:cour_address /</td><th><p>field:textlink/</a></p></th><td>field:sta_time function="MyDate('Y-m-d',me)"/</td><td>field:cour_mon /</td></tr>/dede:arclist多了句 addfields='自定义字段' 多个之间用,号隔开。5. 调用标题名称问题.dede:field name='typename'/6. 循环调用大类下的小类和小类文章 dede:channelartlist typeid=12 row=5 <div class="cbox"><h3><span class="more"><a href="dede:field name='typeurl'/">更多>></a></span><a href="dede:field name='typeurl'/">dede:field name='typename'/</a></h3><ul> dede:arclist titlelen='35' row='8' addfields='cour_address,sta_time,cour_mon' channelid='17' <li>·<span>field:sta_time function="MyDate('m-d',me)"/</span><a href="field:arcurl /">field:title /</a></li> /dede:arclist</ul></div> /dede:channelartlist7. dede 获取文章链接地址.今天在研究dedecms,因为需要多表联查,只有通过sql语句来调用文档,可是用默认的field:arcurl/无法获取文档的链接地址,后经到网上搜寻,找到一套调用文档地址的办法,整理下面:大家知道,在Dede系统里面,我可以可以自由使用SQL语句来配合织梦标签进行更多的个性化调用。比如:推荐会员、推荐企业等。通过SQL语句调用文档列表并获取其静态页面地址的方法。他们的基本参照格式为: dede:sql sql='select 字段 From 表名称 where 条件语句' field:字段名/ /dede:sql由上面这种基本格式,我们就可以基本转换出一条调用文档列表的调用标签了,代码为: dede:sql sql='select * From dede_archives limit 10' <a href="/plus/view.php?aid=field:id/">field:title/</a> /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:sql8. dede友情链接标签 flinkDEDEcms的友情链接标签flink用于获取友情链接,其对应后台文件为"includetaglibflink.lib.php",底层标签图片dede:flink row='24' type='image' titlelen="24" typeid="0"底层标签 field:link /dede:flink文字dede:flink row='24' type='text' titlelen="24" typeid="0"底层标签 field:link /dede:flink 备注:row='24' 表示读取24个,如果row不设置,则默认为24,titlelen="24" 表示友情链接为文字形式,网站名称取24字符宽度,网站编码GBK则12个汉字,网站编码为UTF-8则为8个汉字.typeid="0" 1 综合网站 2 娱乐类 3 教育类 4 计算机类 5 电子商务 6 网上信息 7 论坛类 8 其它类型 如果typeid="0"或者不填,则读取全部类型,注: 后台代码 $wsql .= "And typeid = '$typeid'" 所以typeid这个变量,只能使用一个数字,不支持1,2,3,4这种格式,如果想要支持1,2,3,4这种逗号间隔格式,则需要改动includetaglibflink.lib.php文件,$wsql .= "And typeid = '$typeid'" 改为 $wsql .= "And typeid in ($typeid)" type='image' 则 field:link / 为连接+图片形式,type='text' 则 field:link / 为连接+文字形式,9. 如何删除dedecms中的DEDE提示信息方法:打开include/common.func.php 查找381行和415行 DEDECMS提示信息 改为 提示信息 不同版本可能行数不一样,请您细心查找。9. 留言插件的修改,增加字段数据库中插入自行添加的字段templetsplus guestbook.htm添加相应的表单 主要是name=''在根目录 plus guestbook.php 加入相应的 读取表单数据 并插入到数据库中 58行10. 问答模块无需注册查看.修改文件目录 /ask/control/question.php注释掉 19-29行的 注册审核的判断语句在569行加上 if(empty($this->cfg_ml->M_ID)ShowMsg('您尚未登录,请先登录后再进行回复',$GLOBALS'cfg_ask_member');exit;游客无法回答按钮11. 首页调用问答模块的问题分类.dede:global runphp='yes'global $dsql;$restr = ''$dsql->SetQuery("select id, name, asknum, reid from #_asktype order by disorder desc, id asc");$dsql->Execute('asktype');$tids = $tid2s = $asktypes = array();while($asktype = $dsql->GetArray('asktype')if($asktype'reid' = 0)$tids = $asktype;else$tid2s = $asktype;foreach($tids as $tid)$asktypes = $tid;foreach($tid2s as $key => $tid2)if($tid2'reid' = $tid'id')$asktypes = $tid2;unset($tid2s$key);$temp = 0;foreach($asktypes as $asktype)if($asktype'reid' = 0) if($temp > 0) $restr.= "</dd></dl>n"$restr.='<dl><dt><a href="browser.php?tid='.$asktype'id'.'">'.$asktype'name'."</a></dt>n<dd>"$temp+; else $restr.= ' <a href="browser.php?tid2='.$asktype'id'.'">'.$asktype'name'."</a>n"$restr.= "</dd></dl>n"me = $restr;/dede:global-问题衍生-dede:global runphp='yes'global $dsql;$restr = ''$dsql->SetQuery("Select * From dede_guestbook where ischeck=1 order by ID desc limit 5");$dsql->Execute('feedback');while($row = $dsql->GetArray('feedback')$restr .= "<a target='_blank' href='/plus/feedback.php?arcID=$row'aid'&urlindex=$row'urlindex''>$row'title'</a> - ".cn_substr($row'msg',200)."<hr />"me = $restr;/dede:globaldede:include filename="footer.htm"/简单读取留言内容标题11. 列表页排序问题dede:list orderby=weight 按权重排序无效问题时间:2011-08-01 | 出处:未知 | 整理:织梦模板站 | 点击:251次 | 我要收藏 找到list解析文件include/arc.listview.class.php 发现排序规则里面并没有按照weight排序的判断,于是乎修改程序加入排序规则 /排序方式 $ordersql = '' if($orderby="senddate" | $orderby="id") $ordersql=" order by arc.id $orderWay" else if($orderby="hot" | $orderby="click") $ordersql = " order by arc.click $orderWay" else if($orderby="lastpost") $ordersql = " order by arc.lastpost $orderWay" else if($orderby="weight") $ordersql = " order by arc.weight $orderWay" else $ordersql=" order by arc.sortrank $orderWay" 同时修改条件if(ereg('hot|click|lastpost',$orderby)为if(ereg('hot|click|lastpost|weight',$orderby), 文字权重排序修改/admin/album_edit.php 151行左右 加上 weight='$weight',就可以了整理人:xiaochao QQ群:97088550-