对于dedecms系统TAG标签按栏目调用,只显当前栏目tags标签感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍dedecms标签,并为您提供关于DedeCMS5.7系统TAG标签伪静态怎么
对于dedecms系统TAG标签按栏目调用,只显当前栏目tags标签感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍dedecms 标签,并为您提供关于DedeCMS 5.7系统TAG标签伪静态怎么设置、DedeCMS 5.7系统TAG标签伪静态设置、dedecms 获取当前栏目ID以及调用当前栏目的字段、dedecms使用SQL代码调用指定栏目tag标签的有用信息。
本文目录一览:- dedecms系统TAG标签按栏目调用,只显当前栏目tags标签(dedecms 标签)
- DedeCMS 5.7系统TAG标签伪静态怎么设置
- DedeCMS 5.7系统TAG标签伪静态设置
- dedecms 获取当前栏目ID以及调用当前栏目的字段
- dedecms使用SQL代码调用指定栏目tag标签
dedecms系统TAG标签按栏目调用,只显当前栏目tags标签(dedecms 标签)
织梦tag标签默认是全站调用的,不能按栏目调用当前栏目的tag标签,那么怎么让标签按栏目显示,只显示当前栏目的所有标签呢?网上找了些织梦朋友总结的办法,至此学技巧感觉织梦标签真的很强大。下面就是修改和调用TAG标签的办法:
一、打开include/taglib/目录下的 tag.lib.php 文件
找到下面这段代码,并在中间插入标注部分代码
if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid']))
{
$dsql->SetQuery("Select tid From `ddmx_taglist` where aid = '{$refObj->Fields['aid']}' ");
$dsql->Execute();
$ids = '';
while($row = $dsql->GetArray())
{
$ids .= ( $ids=='' ? $row['tid'] : ','.$row['tid'] );
}
if($ids != '')
{
$addsql = " where id in($ids) ";
}
if($addsql=='') return '';
}
else if($getall==2)
{
$addsql = " where typeid='{$refObj->Fields['typeid']}' ";
}
else
{
if(!empty($typeid))
{
$addsql = " where typeid='$typeid' ";
}
红色部分就是要添加的代码。
以下部分代码是调用当前栏目TAG标签的办法。
{dede:tag sort='hot' getall='2'}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}
DedeCMS 5.7系统TAG标签伪静态怎么设置
1.修改前台显示链接
推荐学习:织梦cms
我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords.html。
这里主要修改下调用的标签,在include/tag/libtag.lib.php中,在87行找到
代码如下:
$row['link'] = $cfg_cmsurl."/tags?".urlencode($row['keyword']);
将其改为:
代码如下:
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
2.修改分页代码
我们需要修改include/arc.taglist.class.php,将分页函数替换为:
代码如下:
/** * 获取动态的分页列表 * * @access public * @param int $list_len 列表宽度 * @param string $listitem 列表样式 * @return string */ function GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno") { $prepage=""; $nextpage=""; $prepagenum = $this->PageNo - 1; $nextpagenum = $this->PageNo + 1; if($list_len == "" || preg_match("/[^0-9]/", $list_len)) { $list_len = 3; } $totalpage = $this->TotalPage; if($totalpage <= 1 && $this->TotalResult > 0) { return "<span>共1页/".$this->TotalResult."条</span>"; } if($this->TotalResult == 0) { return "<span>共0页/".$this->TotalResult."条</span>"; } $maininfo = "<span>共{$totalpage}页/".$this->TotalResult."条</span>rn"; $purl = $this->GetCurUrl(); $basename = basename($purl); $tmpname = explode('.', $basename); $purl = str_replace($basename, '', $purl).urlencode($this->Tag); //var_dump($purl);exit; //$purl .= "?/".urlencode($this->Tag); //获得上一页和下一页的链接 if($this->PageNo != 1) { $prepage.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>rn"; $indexpage="<li><a href='".$purl."-1.html'>首页</a></li>rn"; } else { $indexpage="<li><a>首页</a></li>rn"; } if($this->PageNo!=$totalpage && $totalpage>1) { $nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>rn"; $endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>rn"; } else { $endpage="<li><a>末页</a></li>rn"; } //获得数字链接 $listdd=""; $total_list = $list_len * 2 + 1; if($this->PageNo >= $total_list) { $j = $this->PageNo - $list_len; $total_list = $this->PageNo + $list_len; if($total_list > $totalpage) { $total_list = $totalpage; } } else { $j=1; if($total_list > $totalpage) { $total_list = $totalpage; } } for($j; $j<=$total_list; $j++) { if($j == $this->PageNo) { $listdd.= "<li><a>$j</a></li>rn"; } else { $listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>rn"; } } $plist = ''; if(preg_match('/info/i', $listitem)) { $plist .= $maininfo.' '; } if(preg_match('/index/i', $listitem)) { $plist .= $indexpage.' '; } if(preg_match('/pre/i', $listitem)) { $plist .= $prepage.' '; } if(preg_match('/pageno/i', $listitem)) { $plist .= $listdd.' '; } if(preg_match('/next/i', $listitem)) { $plist .= $nextpage.' '; } if(preg_match('/end/i', $listitem)) { $plist .= $endpage.' '; } return $plist; }
3.设置伪静态规则
我们这里以iis7为例子,设置以下规则:
代码如下:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="weather1" stopProcessing="true"> <match url="tags/([^-]+).html$" ignoreCase="true" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" /> </rule> <rule name="weather2" stopProcessing="true"> <match url="tags/([^-]+)-([0-9]+).html$" ignoreCase="true" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="/tags.php?/{R:1}/{R:2}" appendQueryString="false" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
可以直接保存为web.config放在站点根目录。
4.重新生成html页面
这个操作就不用说了,全部重新生成下,至此全部修改完毕。
以上就是DedeCMS 5.7系统TAG标签伪静态怎么设置的详细内容,更多请关注php中文网其它相关文章!
DedeCMS 5.7系统TAG标签伪静态设置
总结
以上是小编为你收集整理的DedeCMS 5.7系统TAG标签伪静态设置全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Dedecms相关文章
- • 织梦系统 dedecms pagelist标签使用修改
- • 织梦网站怎么搬家?dede系统网站迁移数
- • 织梦网站安全设置方法 dede系统网站如何
- • 织梦自动生成网站地图sitemap代码 dede
- • dede织梦纯代码制作网站地图 dede网站地
- • 织梦dede自定义表单添加全选功能 dede自
- • dede cms如何定时主动推送文章 dede实现
- • 织梦dede发布文章实时api主动推送
- • 织梦dedecms当前位置标签代码的5种写法
- • 织梦DEDECMS文章、栏目页获取当前页面顶
dedecms 获取当前栏目ID以及调用当前栏目的字段
获取dedecms当前栏目的ID,标签为:
{dede:type}[field:ID /]{/dede:type}
如果是在{dede:sql}里面需要用到当前栏目ID的话就
{dede:sql sql='Select * from dede_arctype where id = ~typeid~ '}
本文章网址:http://www.ppssdd.com/code/14246.html。转载请保留出处,谢谢合作!dedecms使用SQL代码调用指定栏目tag标签
在使用织梦CMS建站中,很有可能需要用到在首页根据调用某个栏目下的TAG,也就是是按栏目调出TAG,这里就需要用到DEDE 的SQL运行功能{dede:sql sql="select * from dede_archives a left join dede_taglist t on a.id=t.aid where a.typeid='22' limit 4"}
<a href='/tags.php?[field:tag/]' target="_blank" title="[field:tag /]">[field:tag /]</a>
{/dede:sql}
这里typeid=‘22’可以改成你实际要调用的栏目ID,limit 4这个是调用多少个TAG出来
以上的代码是随便哪里都可以用
如果是要再列表页调用,还有一个代码
[field:id runphp=yes]
$tsql = new DedeSql(false);
$tags = '';
$tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='@me'");
$tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
$tags .= "<a href='/tag.php?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>";
}
@me=$tags;
[/field:id]
如果是DEDE5.7 及之后的版本,可以直接在列表页用
[field:id function=GetTags(@me)/] 就能直接调用,但是调用出来是不带链接的,如果需要链接,请注释掉include\helpers\archive.helper.php文件的130行: $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']); 用下面语句替换,当然你也可以加入自己的样式:$tags .= "<a href='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a> "; 本文章网址:http://www.ppssdd.com/code/10386.html。转载请保留出处,谢谢合作!
今天的关于dedecms系统TAG标签按栏目调用,只显当前栏目tags标签和dedecms 标签的分享已经结束,谢谢您的关注,如果想了解更多关于DedeCMS 5.7系统TAG标签伪静态怎么设置、DedeCMS 5.7系统TAG标签伪静态设置、dedecms 获取当前栏目ID以及调用当前栏目的字段、dedecms使用SQL代码调用指定栏目tag标签的相关知识,请在本站进行查询。
本文标签: