分享

栏目的调用

 偶记易方 2018-08-20
获取指定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"}
{dede:type}
<a href="[field:typeurl /]">[field:typename /]</a>
{/dede:type}
{dede:channel type='son' row='10'}
<p>
<a href="[field:typeurl/]" title="[field:typename/]"><em>+</em> [field:typename/]</a>
</p>
{/dede:channel}
  
{/dede:channelartlist}



获取顶级栏目,按照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”时,对应模板为
article_image.htm(内容)
index_image.htm(封面)
list_image.htm(列表)
 
 图1 
 图2
图2 的三个模板htm可以重新根据自己的需求设置模板或者是上传新的模板页面
比如图片集里的图片想要用幻灯管理的图片,将该栏目文章模板设置为  photo.htm  ,幻灯管理的模板为photo.htm,
更改photo.htm模板内容更符合需求

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多