本文将为您提供关于织梦dedecms调用四级栏目内容的详细介绍,我们还将为您解释织梦cms调用栏目图片的相关知识,同时,我们还将为您提供关于dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办
本文将为您提供关于织梦dedecms调用四级栏目内容的详细介绍,我们还将为您解释织梦cms调用栏目图片的相关知识,同时,我们还将为您提供关于dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法、dedecms织梦模板循环调用二级栏目及下三级栏目教程、dedecms织梦调用三级四级无限级栏目教程、织梦 DEDECMS 调用导航栏的顶级栏目、二级栏目及三级栏目的实用信息。
本文目录一览:- 织梦dedecms调用四级栏目内容(织梦cms调用栏目图片)
- dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法
- dedecms织梦模板循环调用二级栏目及下三级栏目教程
- dedecms织梦调用三级四级无限级栏目教程
- 织梦 DEDECMS 调用导航栏的顶级栏目、二级栏目及三级栏目
织梦dedecms调用四级栏目内容(织梦cms调用栏目图片)
dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法
实现教程
1、打开 \include\taglib\channelartlist.lib.php 找到
1
$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
改成
1
2
3
4
5
6
7
8
9
if($type=='son')
{
$typeid = ( !empty($refObj->TypeLink->TypeInfos['id']) ? GetTopid($refObj->TypeLink->TypeInfos['id']) : 0 );
$tpsql = " reid='$typeid' AND ishidden<>1 ";
}
else
{
$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
}
2、打开 \include\taglib\channel.lib.php 找到
1
if($type=='son' && $reid!=0 && $totalRow==0)
改成
1
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')
3、后台-系统-其它选项 去掉php
栏目页和内容详细页标签写法
<ul>
{dede:php}
$GLOBALS['thisid'] = intval($refObj->Fields['typeid']);
$GLOBALS['reid'] = intval($refObj->Fields['reid']);
$GLOBALS['topid'] = intval($refObj->Fields['topid']);
{/dede:php}
{dede:channelartlist type=son}
<li{dede:field.typeid runphp=yes}(@me==$GLOBALS['thisid']||@me==$GLOBALS['reid']||@me==$GLOBALS['topid'])? @me='':@me='';{/dede:field.typeid}><a href='{dede:field.typeurl/}' >{dede:field.typename/}</a></li>
<ul>
{dede:channel type=son noself=yes}
<li[field:id runphp=yes](@me==$GLOBALS['thisid'])? @me='':@me='';[/field:id]><a href='[field:typelink /]' title='[field:typename/]'>[field:typename/]</a></li>
{/dede:channel}
</ul>
{/dede:channelartlist}
</ul>
注意:红色的地方是必须要的
本文章网址:http://www.ppssdd.com/code/12186.html。转载请保留出处,谢谢合作!dedecms织梦模板循环调用二级栏目及下三级栏目教程
使用织梦遇到以下问题怎么办呢?“如何循环调用顶级栏目下的二级栏目以及所有的三级栏目”,大家有没有遇到类似问题呢??下面是经过我个人研究得出的解决办法:
{dede:channelartlist typeid=’1′}(注:这是顶级栏目id)
{dede:field name=’typename’/}(注:这是二级栏目名称)
{dede:sql sql=’Select * from dede_arctype where reid=~id~ ORDER BY id’}
[field:typedir function="cn_substr(@me,200,9) " /] [field:typename/](注:这是三级栏目的静态路径和栏目名称)
{/dede:sql}
{/dede:channelartlist}
因为[field:typedir /]在数据库存储的路径包括{cmspath}这个字符串,所以我们必须处理一下,就用到织梦(Dedecms)自带的cn_substr这个系统函数,这里简要说一下这个函数的参数,@me是当前字段值,也就是取出的[field:typedir /]这个值,200和9表示从第9个字符位置( (不包括这个字符))开始截取200个字符。
dedecms织梦调用三级四级无限级栏目教程
调用三级四级无限级栏目效果图
*种自定义函数递归法
适用于前端简单样式用户,在 include/extend.func.php *下面添加
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
* 取出所有分类
* @param int $channel 频道ID
* @return string 织梦源码download
* 调用{dede:global.getalltype function='getalltype()'/}
*/
function getalltype($channel=0,$line=10)
{
$line = empty($line) ? 10 : $line;
global $dsql,$result;
$dsql->SetQuery("SELECT id,typename,typenamedir,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `dede_arctype` WHERE reid='$channel' And ishidden<>1 order by sortrank asc limit 0, $line ");
$dsql->Execute($channel);
if($dsql->GetTotalRow($channel)>0)
{
$result .= "<ul>\r\n";
while($row = $dsql->GetArray($channel))
{
$id = $row['id'];
$typename = $row['typename'];
$typelink = GetOneTypeUrlA($row);
$result .= " <li>\r\n";
$result .= " <a href='{$typelink}' target='_blank'>{$typename}</a>\r\n";
getalltype($id,$line);
$result .= " </li>\r\n";
}
$result .= "</ul>\r\n";
}
return $result;
}
前台源码调用标签
{dede:global.getalltype function='getalltype()'/}
第二种标签嵌套法
适用于只调用出一级、二级、三级、四级的用户,直接在源码里写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<ul>
{dede:channelartlist row=7 typeid=top}
<!-- 优质 -->
<li>
#p#分页标题#e#<a href="{dede:field.typeurl/}" >{dede:field name='typename'/}</a>
<ul>
{dede:channel type=son noself=yes}
<!-- 二级 -->
<li>
<a href="[field:typeurl/]" title="[field:typename/]">[field:typename/]</a>
<ul>
<!-- 三级 -->
[field:id runphp=yes]
global $dsql;
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype`
WHERE reid=@me And ishidden<>1 order by sortrank asc limit 0,10";
$dsql->SetQuery($sql);
$dsql->Execute('t');
$result = '';
while($row = $dsql->GetArray('t'))
{
$typename = $row['typename'];
$typeurl = GetOneTypeUrlA($row);
$result .= <<< TPL
<li><a href="{$typeurl}">{$typename}</a></li>
TPL;
}
@me = $result;
[/field:id]
</ul>
</li>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
</ul>
上面的是输出到三级栏目,如果需要四级栏目可以这样写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- 三级/四级 -->
[field:id runphp=yes]
global $dsql;
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype`
WHERE reid=@me And ishidden<>1 order by sortrank asc limit 0,10";
$dsql->SetQuery($sql);
$dsql->Execute('t');
$result = '';
while($row = $dsql->GetArray('t'))
{
$row['typeurl'] = GetOneTypeUrlA($row);
$result .= "<a href='{$row[typeurl]}'>{$row[typename]}</a>";
//四级
#p#分页标题#e#$nsql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `dede_arctype` WHERE reid=$row[id] And ishidden<>1 order by sortrank asc limit 0,10";
$dsql->SetQuery($nsql);
$dsql->Execute('n');
while($nrow = $dsql->GetArray('n'))
{
$nrow['typeurl'] = GetOneTypeUrlA($nrow);
$result .= "<a href='{$nrow[typeurl]}'>{$nrow[typename]}</a>";
}
}
@me = $result;
[/field:id]
本文章网址:http://www.ppssdd.com/code/12069.html。转载请保留出处,谢谢合作!织梦 DEDECMS 调用导航栏的顶级栏目、二级栏目及三级栏目
织梦调用导航菜单栏目,随着 javascript 的运用,导航栏的子栏目越来越多,在 dedecms 如何实现这些栏目的调用呢?
1. 一般导航栏目的调用,该类栏目只有主栏目,没有子栏目,这类栏目一般适用于企业网站和个人网站。其样式图如下:
该类栏目的 dedecms 调用方法比较简单,如下:
{dede:channel type=''top'' currentcolor: #0000ff;"><li class=''thisclass''><a href=''~typelink~''>~typename~</a>
</li>"}
<li><a href=''[field:typeurl/]''>[field:typename/]</a></li>
{/dede:channel}
注释 (参数): typeid=''0'' 栏目 ID; reid = ''0'' 上级栏目 ID; row = ''100'' 调用栏目数;col = ''1'' 分多少列显示
(默认为单列);type = ''son | sun'' son 表示下级栏目,self 表示同级栏目,top 顶级栏目;current'' 应用样式 "。
这种方法会把后台的顶级栏目都调用出来,如果想有些栏目不被调用出来,可以加上参数 typeid=‘所要调用栏目的
id’。对于调用指定的栏目可以用下面的标签:
{dede:type typeid=‘指定栏目的id’}
<a href="[field:typelink /]">[field:typename /]</a>
{/dede:type}
2. 带有二级子栏目的栏目的调用,这类网站用于信息分类比较多的网站,其样式图如下:
这种栏目是比较常见的,其 dedecms 调用代码如下:
{dede:channelartlist typeid=''1,2,3,6,7,10,8,11'' row=''10''} //typeid=‘顶级栏目的id’
<li class="tab dropdown"><a id="{dede:field name=''id''/}"
href="{dede:field name=''typeurl''/}" class="tablink arwlink">
{dede:field name=''typename''/}</a>
<ul class="subnav">
{dede:channel type=''son'' noself=''yes''}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
对于没有子栏目的顶级栏目可以使用调用指定栏目的标签:
{dede:type typeid=‘指定栏目的id’}
<li>
<a href="[field:typelink /]">[field:typename /]</a>
</li>
{/dede:type}
这样可以实现上述栏目的调用。
3. 有三级子栏目的调用代码,这类导航适用于商城等,其样式图如下:
对于这种栏目的调用代码如下:
<li>
<h3>
{dede:type typeid=''2''}<a href=''[field:typelink/]'' class="depth_1">
[field:typename/]</a>{/dede:type}
</h3> //顶级栏目的调用
<ul class="children" style="display: none; "> {dede:channelartlist typeid=''top'' typeid=''2''}
//二级栏目和三级栏目的调用这里typeid=''子栏目所属的顶级栏目的id''
<li>
<h3 >
<a href=''{dede:field name=''typeurl''/}'' class="depth_2">
<span class="icon10"></span>{dede:field name=''typename''/}
</a>
</h3>
<ul>
{dede:sql sql=''Select * from dede_arctype where reid=~id~ ORDER BY id limit 0,20''}
//limit 起始三级栏目id 显示栏目的条数
<li><a href="[field:typedir function=''str_replace("{cmspath}","",@me)''/]"
class="depth_3">[field:typename/]</a>
</li>
{/dede:sql}
</ul>
</li>
{/dede:channelartlist}
</ul>
</li>
这三类基本上包括了导航栏的调用方式,而且都经过测试可以放心使用。
今天的关于织梦dedecms调用四级栏目内容和织梦cms调用栏目图片的分享已经结束,谢谢您的关注,如果想了解更多关于dedecms织梦内容详细页栏目页二级栏目三级栏目同时高亮办法、dedecms织梦模板循环调用二级栏目及下三级栏目教程、dedecms织梦调用三级四级无限级栏目教程、织梦 DEDECMS 调用导航栏的顶级栏目、二级栏目及三级栏目的相关知识,请在本站进行查询。
本文标签: