级别: DeDe版主
UID: 47438
精华:
3
发帖: 3876
贡献值: 953 点
威望值: 1189 点
技术分: 10 分
织梦币: 10 个
在线时间: 151(时)
注册时间: 2008-01-22
最后登录: 2010-07-31
|
5.3使用技巧汇总贴--(09-09-05 秋风更新)
管理提醒:
本帖被 木耳 执行取消置顶操作(2010-01-23)

1,5.3内容页不显示点击数,但又能统计到数据 复制代码- <script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script>
- 以上是统计代码
- 只需要把yes 改成 no 表示 统计数据的同时 不显示数据。
| 2,5.3软件下载突破12个链接限制的方法 复制代码- 第一步:打开程序目录dede/templets/soft_add.htm 和 soft_edit.htm
- 找到下面这句
- if(endNum>12) endNum = 12;
- 把两个12改成你要修改的任意数字。
- 如 if(endNum>99) endNum = 99;
- 第2步:打开程序目录dede/soft_add.php 和soft_edit.php
- 找到下面这句
- for($i=2;$i<=12;$i++)
- 把9改成你要修改的任意数字(要与endNum = 12 所修改的数字一致)
- 如 for($i=2;$i<=99;$i++)
| 3,5.3首页调用自定义字段 复制代码- {dede:sql sql="SELECT exhibition_name,exhibition_time,exhibition_address FROM #@__addonExhibition"} field:exhibition_name/] {/dede:sql}
| 4,dede5.3tag标签 复制代码-
- 1,文章页的tag的调用解决办法V5.3TAG的调用方式为:TAG:{dede:field.tags/}
- 这个在内容页模板中使用
- 演示:[url]http://www.dedemo.cn/dedecms/2008/1218/629.html[/url]
- 全局标签{dede:tag row='8' getall='1' sort='month'}
- 支持属性
- row|30 行数
- sort|new 排序
- getall|0 调用类型
- 可以查看/include/taglib/tag.lib.php
- 找到include/common.func.php
- 替换下面的函数就可以了
- //获得某文档的所有tag
- function GetTags($aid)
- {
- global $dsql;
- $tags = '';
- $query = "Select tag From `dede_taglist` where aid='$aid' ";
- $dsql->Execute('tag',$query);
- while($row = $dsql->GetArray('tag'))
- {
- $tags.= ($tags=='' ? "<a href=/tags.php?/{$row['tag']}target=_blank>{$row['tag']}</a>" : ','."<ahref=/tags.php?/{$row['tag']}target=_blank>{$row['tag']}</a>");
- }
- return $tags;
- }
- 2,在列表页的列表里调用TAG代码如下
- [field:id runphp=yes]
- $tsql = new DedeSql(false);
- $tags = '';
- $tsql->SetQuery("Select i.tag From #@__taglist t left join #@__tagindex i on i.id=t.tid where t.aid='@me'");
- $tsql->Execute('t');
- while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
- $tags .= "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>";
-
-
- }
- @me=$tags;
- [/field:id]
| 5,dede5.3顶级栏目-二级栏目标题专用标签 复制代码- /**
- * 栏目名称调用标签
- * 标签编写:寂寞天涯
- * 时间:2008年12月13日
- * 标签使用说明:
- * {dede:channeltitle order='forward|backward' character='-'/}
- * order:栏目显示顺序
- * order='forward' 从左到右顺序为“顶级栏目-一级栏目-二级栏目”
- * order='backward' 从左到右顺序为“二级栏目-一级栏目-顶级栏目”
- * character:间隔使用符号
- */
- 使用方法:
- 1.解压文件到include/taglib目录下
- 2.在模板list_*.htm或index_*.htm的<titile>和</title>之间加入表前代码。
- 例:<title>{dede:channeltitle order='backward' character='-'/}-{dede:global.cfg_webname/}</title>
- 演示站点:[url]http://www.dedemo.cn/news/cms/index.html[/url]
- 说明:织梦新版本可以扩展开发标签,非常方便简捷,大家可以先做研究。
| 6,dede5.3首页调用 分类信息 复制代码- {dede:arclistsg orderby='id' titlelen='24' row='10' channelid='-8' typeid='1,2'} [field:title/] {/dede:arclistsg}
| 7,DEDE5.3调用DZ论坛最新,最热,精华贴子的方法 复制代码- DZ7.0+UC1.5+DEDE5.3测试通过
- ------------------------------------------------------------------------------------------
- 论坛之星/活跃会员
- ------------------------------------------------------------------------------------------
- {dede:loop table="cdb_members" sort="posts" row="3"}
- <LI>
- <A href="/bbs/space.php?uid=[field:uid /]"><IMG src="/bbs/uc_server/avatar.php?uid=[field:uid /]&size=middle"></A>
- <A href="/bbs/space.php?uid=[field:uid /]">[field:username/]</A>
- <BR>贴子:[field:posts/]
- <BR>加入:[field:regdate function="GetDateMK(@me)"/]
- </LI>
- {/dede:loop}
- /bbs/space.php?uid=[field:uid /] 个人信息地址
- /bbs/uc_server/avatar.php?uid=[field:uid /]&size=middle 论坛头像
- /home/space.php?uid=[field:uid /] UCHOME的个人空间地址
- -------------------------------------------------------------------------------------------
- 调用贴子
- -------------------------------------------------------------------------------------------
- {dede:loop table="cdb_threads" if='digest>0' sort="tid" row="10"}
- <LI><A href="/bbs/viewthread.php?tid=[field:tid /]">[field:subject function="cn_substr('@me',30)" /]</A>
- {/dede:loop}
- if="" 条件
- 示例1:调用版块ID为4的贴子:
- if="fid=4" 调用指定版块的贴子
- 示例2:调用版块ID为4的精华贴子
- if="fid=4 AND digest>0"
- 示例3:调用回复超过20贴的贴子
- if="fid=4 AND replies>20"
- -------------------------------------------------------------------------------------------
- 调用附件带图片的贴子
- -------------------------------------------------------------------------------------------
- {dede:sql sql="SELECT` cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, `cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE `cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,2"}
- <li><A href="/bbs/viewthread.php?tid=[field:tid /]"><IMG src="/bbs/attachments/[field:attachment/]"></A></li>
- <li><A href="/bbs/viewthread.php?tid=[field:tid /]">[field:subject function="cn_substr('@me',30)" /]</A></li>
- {/dede:sql}
| 8,V53首页调用分类信息板块贴 复制代码- {dede:loop table="bar_addoninfos left join bar_arctype on bar_addoninfos.typeid=bar_arctype.id" sort="bar_addoninfos.aid" if="litpic<>'' and topid=8" ismake='no' row=12}
- <DL>
- <img src="[field:litpic/]" />
- <DT>
- <H2><a href='[field:typedir function="cn_substr(@me,160,10)"/]/[field:senddate function="MyDate('Ymd',@me)"/]/[field:aid/].html'>[field:title/]</a></H2>
- <P>[field:body function="cn_substr(@me,150)"/]……</P></DT></DL>
- {/dede:loop}
| 9,实现嵌套获取栏目及其子栏目列表 复制代码-
- 修改 channerl.lib.php
- <?php
- function lib_channel(&$ctag,&$refObj)
- {
- global $_sys_globals,$envs,$dsql;
- $attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";
- FillAttsDefault($ctag->CAttribute->Items,$attlist);
- extract($ctag->CAttribute->Items, EXTR_SKIP);
- $innertext = $ctag->GetInnerText();
- if(empty($typeid) && $envs['typeid']!=0)
- {
- $typeid = $envs['typeid'];
- $reid = $envs['reid'];
- }else{
- $reid=0;
- }
- if($type==''||$type=='sun') $type="son";
- if($innertext=='') $innertext = GetSysTemplets("channel_list.htm");
- if($reid==0 && $typeid>0)
- {
- $dbrow = $dsql->GetOne("Select reid From #@__arctype where id='$typeid' ");
- if(is_array($dbrow)) $reid = $dbrow['reid'];
- }
- $likeType = '';
- if($type=='top')
- {
- $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
- From #@__arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row";
- }
- else if($type=="son")
- {
- //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];
- if($typeid==0) {
- return '';
- }
- $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
- From #@__arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";
- }
- else if($type=="self")
- {
- if($reid==0) {
- return '';
- }
- $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
- From `#@__arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";
- }
- //And id<>'$typeid'
- $dtp2 = new DedeTagParse();
- $dtp2->SetNameSpace("field","[","]");
- $dtp2->LoadSource($innertext);
- $dsql2 = clone $dsql;
- $dsql->SetQuery($sql);
- $dsql->Execute();
- $line = $row;
- $GLOBALS['autoindex'] = 0;
- for($i=0;$i < $line;$i++)
- {
- if($col>1) $likeType .= "<dl>\r\n";
- for($j=0;$j<$col;$j++)
- {
- if($col>1) $likeType .= "<dd>\r\n";
- if($row=$dsql->GetArray())
- {
- if($type=='self' && $row['id']==$typeid) //处理同级栏目中,当前栏目的样式
- {
- if($currentstyle!='')
- {
- $linkOkstr = $currentstyle;
- $row['typelink'] = GetOneTypeUrlA($row);
- $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr);
- $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
- $likeType .= $linkOkstr;
- }
- }else
- {
- $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
- if(is_array($dtp2->CTags))
- {
- foreach($dtp2->CTags as $tagid=>$ctag){
- if(isset($row[$ctag->GetName()]))
- {
- $dtp2->Assign($tagid,$row[$ctag->GetName()]);
- }
- elseif ('sonchannel' == $ctag->GetName())
- {
- $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));
- }
- }
- }
- $likeType .= $dtp2->GetResult();
- }
- }
- if($col>1) $likeType .= "</dd>\r\n";
- $GLOBALS['autoindex']++;
- }//Loop Col
- if($col>1)
- {
- $i += $col - 1;
- $likeType .= " </dl>\r\n";
- }
- }//Loop for $i
- $dsql->FreeResult();
- return $likeType;
- }
- function lib_channel_son($ctag,$typeid = 0,$dsql2)
- {
- $attlist = "row|100,col|1,currentstyle|";
- FillAttsDefault($ctag->CAttribute->Items,$attlist);
- extract($ctag->CAttribute->Items, EXTR_SKIP);
- $innertext = $ctag->GetInnerText();
- $likeType = '';
- //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];
- if($typeid==0) {
- return '';
- }
- $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
- From #@__arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";
- //And id<>'$typeid'
- $dtp2 = new DedeTagParse();
- $dtp2->SetNameSpace("field","[","]");
- $dtp2->LoadSource($innertext);
- $dsql2->SetQuery($sql);
- $dsql2->Execute();
- $line = $row;
- for($i=0;$i < $line;$i++)
- {
- if($col>1) $likeType .= "<dl>\r\n";
- for($j=0;$j<$col;$j++)
- {
- if($col>1) $likeType .= "<dd>\r\n";
- if($row=$dsql2->GetArray())
- {
- $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
- if(is_array($dtp2->CTags))
- {
- foreach($dtp2->CTags as $tagid=>$ctag){
- if(isset($row[$ctag->GetName()]))
- {
- $dtp2->Assign($tagid,$row[$ctag->GetName()]);
- }
- elseif ('sonchannel' == $ctag->GetName())
- {
- $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));
- }
- }
- }
- $likeType .= $dtp2->GetResult();
- }
- if($col>1) $likeType .= "</dd>\r\n";
- }//Loop Col
- if($col>1)
- {
- $i += $col - 1;
- $likeType .= " </dl>\r\n";
- }
- }//Loop for $i
- $dsql2->FreeResult();
- return $likeType;
- }
- ?>
- 模板调用
- {dede:channel type='son' typeid='14'}
- <div><a href="[field:typelink/]">[field:typename/]</a></div>
- <ul>
- [field:sonchannel]
- <li><a href="[field:typelink/]">[field:typename/]</a></li>
- [/field:sonchannel]
- </ul>
- {/dede:channel}
- 支持无限嵌套
- <?php
- function lib_channel(&$ctag,&$refObj)
- {
- global $_sys_globals,$envs,$dsql;
- $attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";
- FillAttsDefault($ctag->CAttribute->Items,$attlist);
- extract($ctag->CAttribute->Items, EXTR_SKIP);
- $innertext = $ctag->GetInnerText();
- if(empty($typeid) && $envs['typeid']!=0)
- {
- $typeid = $envs['typeid'];
- $reid = $envs['reid'];
- }else{
- $reid=0;
- }
- if($type==''||$type=='sun') $type="son";
- if($innertext=='') $innertext = GetSysTemplets("channel_list.htm");
- if($reid==0 && $typeid>0)
- {
- $dbrow = $dsql->GetOne("Select reid From #@__arctype where id='$typeid' ");
- if(is_array($dbrow)) $reid = $dbrow['reid'];
- }
- $likeType = '';
- if($type=='top')
- {
- $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
- From #@__arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row";
- }
- else if($type=="son")
- {
- //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];
- if($typeid==0) {
- return '';
- }
- $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
- From #@__arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";
- }
- else if($type=="self")
- {
- if($reid==0) {
- return '';
- }
- $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
- From `#@__arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";
- }
- //And id<>'$typeid'
- $dtp2 = new DedeTagParse();
- $dtp2->SetNameSpace("field","[","]");
- $dtp2->LoadSource($innertext);
- $dsql2 = clone $dsql;
- $dsql->SetQuery($sql);
- $dsql->Execute();
- $line = $row;
- $GLOBALS['autoindex'] = 0;
- for($i=0;$i < $line;$i++)
- {
- if($col>1) $likeType .= "<dl>\r\n";
- for($j=0;$j<$col;$j++)
- {
- if($col>1) $likeType .= "<dd>\r\n";
- if($row=$dsql->GetArray())
- {
- if($type=='self' && $row['id']==$typeid) //处理同级栏目中,当前栏目的样式
- {
- if($currentstyle!='')
- {
- $linkOkstr = $currentstyle;
- $row['typelink'] = GetOneTypeUrlA($row);
- $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr);
- $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
- $likeType .= $linkOkstr;
- }
- }else
- {
- $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
- if(is_array($dtp2->CTags))
- {
- foreach($dtp2->CTags as $tagid=>$ctag){
- if(isset($row[$ctag->GetName()]))
- {
- $dtp2->Assign($tagid,$row[$ctag->GetName()]);
- }
- elseif (preg_match('/^sonchannel[0-9]*$/',$ctag->GetName()))
- {
- $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));
- }
- }
- }
- $likeType .= $dtp2->GetResult();
- }
- }
- if($col>1) $likeType .= "</dd>\r\n";
- $GLOBALS['autoindex']++;
- }//Loop Col
- if($col>1)
- {
- $i += $col - 1;
- $likeType .= " </dl>\r\n";
- }
- }//Loop for $i
- reset($dsql2);
- $dsql->FreeResult();
- return $likeType;
- }
- function lib_channel_son($ctag,$typeid = 0,$dsql2)
- {
- $attlist = "row|100,col|1,currentstyle|";
- FillAttsDefault($ctag->CAttribute->Items,$attlist);
- extract($ctag->CAttribute->Items, EXTR_SKIP);
- $innertext = $ctag->GetInnerText();
- $dsql3 = clone $dsql2;
- $likeType = '';
- //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];
- if($typeid==0) {
- return '';
- }
- $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
- From #@__arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";
- //And id<>'$typeid'
- $dtp2 = new DedeTagParse();
- $dtp2->SetNameSpace("field","[","]");
- $dtp2->LoadSource($innertext);
- $dsql2->SetQuery($sql);
- $dsql2->Execute();
- $line = $row;
- for($i=0;$i < $line;$i++)
- {
- if($col>1) $likeType .= "<dl>\r\n";
- for($j=0;$j<$col;$j++)
- {
- if($col>1) $likeType .= "<dd>\r\n";
- if($row=$dsql2->GetArray())
- {
- $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
- if(is_array($dtp2->CTags))
- {
- foreach($dtp2->CTags as $tagid=>$ctag){
- if(isset($row[$ctag->GetName()]))
- {
- $dtp2->Assign($tagid,$row[$ctag->GetName()]);
- }
- elseif (preg_match('/^sonchannel[0-9]*$/',$ctag->GetName()))
- {
- $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3));
- }
- }
- }
- $likeType .= $dtp2->GetResult();
- }
- if($col>1) $likeType .= "</dd>\r\n";
- }//Loop Col
- if($col>1)
- {
- $i += $col - 1;
- $likeType .= " </dl>\r\n";
- }
- }//Loop for $i
- reset($dsql3);
- $dsql2->FreeResult();
- return $likeType;
- }
- ?>
- 模板调用 [field:sonchannel0] [/field:sonchannel0] 这个是用来取子栏目用得(使用【sonchannel+数字】作为标签名是为了防止嵌套的时候无法正确解析标签)
- 这个的作用就是当你的栏目有很多子栏目 无限分级的时候方便你取子栏目的
- 例子
- {dede:channel type='son' typeid='22'}
- [field:typename/]
- <ul>
- [field:sonchannel0]
- <li><a href="[field:typelink/]">[field:typename/]</a></li>
- [field:sonchannel1]
- <li><a href="[field:typelink/]">---[field:typename/]</a></li>
- [field:sonchannel2]
- <li><a href="[field:typelink/]">===[field:typename/]</a></li>
- [field:sonchannel3]
- <li><a href="[field:typelink/]">===[field:typename/]</a></li>
- [/field:sonchannel3]
- [/field:sonchannel2]
- [/field:sonchannel1]
- [/field:sonchannel0]
- </ul>
- {/dede:channel}
|
[ 此帖被秋风落叶在2009-09-05 09:14重新编辑 ]
|