获取指定id的栏目(type仅能获取一个typeid ){dede:type typeid='4'}
<li>
<a href="[field:typeurl/]" class="hvr-underline-from-center boonav">[field:typename/]</a>
</li>
{/dede:type} 想要获取多个时: {dede:channelartlist typeid="2,9,16,23,30,37"}
<a href="[field:typeurl /]">[field:typename /]</a>
{dede:channel type='son' row='10'}
<p>
<a href="[field:typeurl/]" title="[field:typename/]"><em>+</em> [field:typename/]</a>
获取顶级栏目,按照id顺序对应输出 {dede:channelartlist type=top typeid="2,3,5,6,7,8"}
<li>
<a href="{dede:field name='typeurl'/}" class="hvr-underline-from-center" id="{dede:field name='typeid'/}">{dede:field name='typename'/}</a>
</li>
{/dede:channelartlist}
栏目按照id顺序对应输出相应栏目 DEDECMS首页频道channelartlist标签通过typeid属性排序方法: 找到\include\taglib\channelartlist.lib.php文件,然后修改第78行
$dsql->SetQuery("SELECTid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE $tpsql ORDER BY sortrank ASC LIMIT$totalnum");
修改为
$dsql->SetQuery("Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath from `#@_arctype` where $tpsql order by substring_index('$typeid',id,1) limit $totalnum");
('$typeid',id,1) 必须是单引号
这样修改了后,就可以通过{dede:channelarclist typeid='2,4,1,3'}对应输出相应栏目的内容了
首页链接 <a class="header-logo" href="{dede:global.cfg_basehost/}">首页</a>
img链接地址(案例为logo图片地址) <img src="{dede:global.cfg_templets_skin/}/images/logo-1.gif" alt="{dede:global.cfg_webname/}" title="{dede:global.cfg_webname/}" />
想要给某个顶级栏目点击时不跳转到指定的链接页,可以将 栏目管理 — 修改栏目 — 文件保存目录 {cmspath}/ 后面不写地址 点击顶级栏目自动跳转到 a/栏目/index.html a文件下的页面要返回到网站首页 /weilin/
获取当前的栏目 currentstyle="<li><a href="~typelink~" class="hvr-underline-from-center boonav"> ~typename~ </a></li>"
当前栏目的URL地址:
{dede:type row=1}[field:typelink /]{/dede:type}
当前栏目的名称:
{dede:field.typename/} 1、{dede:field name="typename"} 这是调用当前栏目的名称 2、 {dede:channel type='son' row='5'}
<a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel}
这是调用该顶级频道下所有字栏目,row代表调用5条
3、 {dede:type typeid='栏目id'}
<a href="[field:typeurl/]">[field:typename/]</a> {/dede:type}
表示调用指定id的栏目,不过只能调用一个,要想多个调用就只能重复多次调用该标签
顶级栏目及其二级栏目 <!--
这段代码写在head.html中 typeid='top' 是为了在其他栏目页中查找顶级栏目,如果仅仅是在首页中使用此代码是无需这个的,一般建议写上 每添加一个栏目及其子栏目点击 “生成 -- 更新栏目html” 自动生成一个 “a/栏目名/”的页面(包含公共的模板 head.htm) 这样才能点击栏目nav时链接的页面是正常显示的(该页面是根据模板自动生成的,更改该页面无效。只能更改模板 模板 -- 默认模板管理 -- 找到相关模板更改代码) 页面样式默认在 templets\mb\style\dedecms.css -->
<!-- 顶级栏目及其二级栏目 --> {dede:channelartlist row=8 typeid='top' currentstyle='current'} <li {dede:field.currentstyle/}>
<a href='{dede:field name="typeurl"/}'>
<span>{dede:field name='typename'/}</span>
</a> <!-- 二级栏目 --> <div class="header-nav">
{dede:channel type='son' noself='true'} <dl>
<a href='[field:typelink/]'>[field:typename/]</a> </dl>
{/dede:channel} </div> </li> {/dede:channelartlist}
当前栏目高亮 1、修改include/taglib/channelartlist.lib.php 在 $pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);后面加+:
// 让channelartlist支持栏目高亮 start if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){
$pv->Fields['currentstyle'] = ' class="current"'; }else{
$pv->Fields['currentstyle'] = ''; }
// 让channelartlist支持栏目高亮 end 2、在htm页面中加入上面粉色背景部分 {dede:channelartlist row=8 typeid='top' currentstyle='current'}
<li {dede:field.currentstyle/}>
获取当前页面的顶级栏目名称
1、修改include/common.func.php // 获取顶级栏目名 function GetTopTypename($id){
global $dsql; $row = $dsql->GetOne("SELECT typename,topid FROM wlseo_arctype WHERE id= $id"); if ($row['topid'] == '0'){
return $row['typename']; }else{
$row1 = $dsql->GetOne("SELECT typename FROM wlseo_arctype WHERE id= $row[topid]"); // wlseo_ 为数据库前缀 return $row1['typename']; } }
2、在htm页面中指定位置写: {dede:field name='typeid' function="GetTopTypename(@me)" /}
生 成
首页更改 -- 生成更新主页html 网站栏目管理更改 -- 生成更新栏目html 内容管理更改 -- 生成更新文档html
1、栏目内容模型为“图片集|image”时,对应模板为
list_image.htm(列表) 图1 图2 图2 的三个模板htm可以重新根据自己的需求设置模板或者是上传新的模板页面 比如图片集里的图片想要用幻灯管理的图片,将该栏目文章模板设置为 photo.htm ,幻灯管理的模板为photo.htm, 更改photo.htm模板内容更符合需求
|
|