GVKun编程网logo

织梦让channelartlist标签里的channel支持currentstyle(织梦标签调用)

14

本篇文章给大家谈谈织梦让channelartlist标签里的channel支持currentstyle,以及织梦标签调用的知识点,同时本文还将给你拓展dedechannelartlist中引用chan

本篇文章给大家谈谈织梦让channelartlist标签里的channel支持currentstyle,以及织梦标签调用的知识点,同时本文还将给你拓展dede channelartlist 中引用channel 并且设置当前选择类的样式,currentstyle暂时没有效果.特发求助!!!! - samcao、dede(织梦)CMS:channelArtlist标签应用、DedeCMS让channelartlist支持currentstyle属性、dede让channelartlist标签支持currentstyle属性 完美解决等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

织梦让channelartlist标签里的channel支持currentstyle(织梦标签调用)

织梦让channelartlist标签里的channel支持currentstyle(织梦标签调用)

 

织梦标签channelartlist默认是不支持多层嵌套后使用currentstyle高亮,修改一个文件可以实现

嵌套标签

<div> <ul> {dede:channelartlist row=7 typeid=top currentstyle=current} <li> <a href=http://www.dede58.com/a/dedejq/"{dede:field.typeurl/}">{dede:field.typename/}</a> <ul> {dede:channel type='son' noself='yes' row='10' current} <li><a href=http://www.dede58.com/a/dedejq/"[field:typeurl/]">[field:typename/]</a></li> {/dede:channel} </ul> </li> {/dede:channelartlist} </ul> </div>  

实现教程

1、打开 \include\taglib\channel.lib.php 找到

global $dsql;

改成

global $dsql,$_sys_globals;

继续找到

$row['id']==$typeid

改成

$row['id']==$typeid || $row['id']==$_sys_globals['typeid']

本文章网址:http://www.ppssdd.com/code/11416.html。转载请保留出处,谢谢合作!

dede channelartlist 中引用channel 并且设置当前选择类的样式,currentstyle暂时没有效果.特发求助!!!! - samcao

dede channelartlist 中引用channel 并且设置当前选择类的样式,currentstyle暂时没有效果.特发求助!!!! - samcao

在dede中需要达到当前选择了该类,样式不同的话.如果是channelartlist 的话. 可以使用下面的情况:

<span>1</span> {dede:channelartlist typeid=''6'' row=''3'' currentcurrent''<span>}
</span><span>2</span>     
登录后复制
  • {dede:field.currentstyle/}''> 3 4 {dede:field name=''typename''/} 5 6
  • 7 {/dede:channelartlist}

    这个默认没有效果.需要在channelartlist.lib.php中做下面的步骤:

    在这行的下面添加

    <span>1</span> <span>$pv</span>-&gt;Fields[''typeurl''] = GetOneTypeUrlA(<span>$typeids</span>[<span>$i</span>]);
    登录后复制
    <span> 1</span>         <span>#</span><span>#########################################################</span>
    <span> 2</span>         
    <span> 3</span>          <span>if</span>(<span>$typeids</span>[<span>$i</span>][''id''] == <span>$refObj</span>-&gt;TypeLink-&gt;TypeInfos[''id''] || <span>$typeids</span>[<span>$i</span>][''id''] == <span>$refObj</span>-&gt;TypeLink-&gt;TypeInfos[''topid''<span>] ){ 
    </span><span> 4</span>             <span>$pv</span>-&gt;Fields[''currentstyle''] = <span>$currentstyle</span> ? <span>$currentstyle</span> : ''current''<span>; 
    </span><span> 5</span> <span>        } 
    </span><span> 6</span>         <span>else</span><span>{ 
    </span><span> 7</span>             <span>$pv</span>-&gt;Fields[''currentstyle''] = ''''<span>; 
    </span><span> 8</span> <span>        } 
    </span><span> 9</span>         
    <span>10</span>         <span>#</span><span>##########################################################</span>
    登录后复制

    添加上面的代码才可以.

     如果只是使用channel的话. 可以使用下面来实现. 在此引用 "元曦" 的图. 也谢谢"元曦"的帮助.

     

     
    但是.如果两个套一起. 就实现不了.以下帖上我的代码.
     
    <span> 1</span> {dede:channelartlist typeid=''6'' row=''3'' currentcurrent''<span>}
    </span><span> 2</span>     
    登录后复制
  • {dede:field.currentstyle/}''> 3 4 {dede:field name=''typename''/} 5 6
      > 7 {dede:channel type=''son'' noself=''yes'' currentcolor: #008080;"> 8
    • 9 >~typename~ 10
  • 11 "} 12
  • 13 --[field:typename/] 14
  • 15 {/dede:channel} 16 17 18 {/dede:channelartlist}

     

    这样channelartlist 会有class的样式. 但是内部 channel 并不会有,甚是不解。

    于是决定至底层的php文件中查看一下。在channel.lib.php中输出测试一下。

     

    <span> 1</span>                 <span>//</span><span>处理同级栏目中,当前栏目的样式</span>
    <span> 2</span>                 <span>if</span>( (<span>$row</span>[''id'']==<span>$typeid</span> || (<span>$topid</span>==<span>$row</span>[''id''] &amp;&amp; <span>$type</span>==''top'') ) &amp;&amp; <span>$currentstyle</span>!=''''<span> )
    </span><span> 3</span> <span>                {
    </span><span> 4</span>                     <span>print</span> ''test_4'';  <span>//</span><span>测试输出</span>
    <span> 5</span>                     <span>$linkOkstr</span> = <span>$currentstyle</span><span>;
    </span><span> 6</span>                     <span>$row</span>[''typelink''] = GetOneTypeUrlA(<span>$row</span><span>);
    </span><span> 7</span>                     <span>$linkOkstr</span> = <span>str_replace</span>("~rel~",<span>$row</span>[''rel''],<span>$linkOkstr</span><span>);
    </span><span> 8</span>                     <span>$linkOkstr</span> = <span>str_replace</span>("~id~",<span>$row</span>[''id''],<span>$linkOkstr</span><span>);
    </span><span> 9</span>                     <span>$linkOkstr</span> = <span>str_replace</span>("~typelink~",<span>$row</span>[''typelink''],<span>$linkOkstr</span><span>);
    </span><span>10</span>                     <span>$linkOkstr</span> = <span>str_replace</span>("~typename~",<span>$row</span>[''typename''],<span>$linkOkstr</span><span>);
    </span><span>11</span>                     <span>$likeType</span> .= <span>$linkOkstr</span><span>;
    </span><span>12</span> <span>                }
    </span><span>13</span>                 <span>else</span>
    <span>14</span> <span>                {
    </span><span>15</span>                     <span>print</span> ''test_5''; <span>//</span><span>测试输出</span>
    <span>16</span>                     <span>$row</span>[''typelink''] = <span>$row</span>[''typeurl''] = GetOneTypeUrlA(<span>$row</span><span>);
    </span><span>17</span>                     <span>if</span>(<span>is_array</span>(<span>$dtp2</span>-&gt;<span>CTags))
    </span><span>18</span> <span>                    {
    </span><span>19</span>                         <span>foreach</span>(<span>$dtp2</span>-&gt;CTags <span>as</span> <span>$tagid</span>=&gt;<span>$ctag</span><span>)
    </span><span>20</span> <span>                        {
    </span><span>21</span>                             <span>if</span>(<span>isset</span>(<span>$row</span>[<span>$ctag</span>-&gt;GetName()])) <span>$dtp2</span>-&gt;Assign(<span>$tagid</span>,<span>$row</span>[<span>$ctag</span>-&gt;<span>GetName()]);
    </span><span>22</span> <span>                        }
    </span><span>23</span> <span>                    }
    </span><span>24</span>                     <span>$likeType</span> .= <span>$dtp2</span>-&gt;<span>GetResult();
    </span><span>25</span>                     
    <span>26</span>                 }
    登录后复制

     

    看是输出的test_5. 不解. 暂做记录.也希望大家给上上课.

     

    不要单个效果的.已经实现 .或者小弟那里有理解不对的地方. 请指出.

    主要是需要

    11111111111111111

          1-2

          1-3

    22222222222222222
          2-1
          2-2
    如果上面有选择2-1的时候.2-1的样式发生变化 .
     
     

     

    dede(织梦)CMS:channelArtlist标签应用

    dede(织梦)CMS:channelArtlist标签应用

    个性的dede,在制作多级菜单的时候很无奈,当时以为在保证尽量不动源码的情况下,很难完成二级导航的功能,没想到channelArtlist这个函数,这唯一能嵌套的函数。太爽了。用着

    例子1:读取指定菜单项

    Syntax"> 1
    2
    3
  • {dede:field name='typename'/}

  • {/dede:channelArtlist}

    例子2: 读取二级菜单(在这里发现个很郁闷的bug dede读取子菜单竟然是用sun 和son都行。 不知道是那个程序员写错还是故意的。)

    Syntax">
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

  • {dede:field name='typename'/}
    {dede:channel type='sun'}

  • {/dede:channel}


    {/dede:channelArtlist}

    例子3:读取指定菜单项下几条内容。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

  • {dede:type}
    [field:typename/]

    • display:none;">
      {/dede:type}
      {dede:arclist row="5"}

    • {/dede:arclist}


    {/dede:channelArtlist}

    总结

    以上是小编为你收集整理的dede(织梦)CMS:channelArtlist标签应用全部内容。

    如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

    Dedecms相关文章

    织梦系统 dedecms pagelist标签使用修改方法介绍
    在Dedecms织梦列表页中是肯定要使用pagelist标签的,但是有的时候也会因为一些css格式的问题会出现排列顺序的问题,所以也要知道怎么样修改pagelist标签?
    织梦网站怎么搬家?dede系统网站迁移数据到另外个服务器
    今天分享织梦网站怎么搬家,个人感觉织梦的搬家比其他的程序的都简单。1、网站备份登录织梦后台,【系统】-【数据库备份/还原】-【提交】,织梦程序开始自动备份数据库,等待即可。
    织梦网站安全设置方法 dede系统网站如何配置才安全?
    织梦(dede)程序不安全是公认的,同样是建站,使用织梦程序被黑的风险更大,所以,一些安全设置是非常有必要的。织梦网站安全设置的4个主要操作
    织梦自动生成网站地图sitemap代码 dede生成sitemap站点地图的代码实例
    使用xemu、爱站工具包、尖叫青蛙等制作网站地图,每次生成sitemap还需要再上传到服务器,还是比较麻烦的,不过有些网站程序可以通过插件完成网站地图的自动更新,比如wordpress。但是织梦一直都不行,今天就用插件+代
    dede织梦纯代码制作网站地图 dede网站地图生成代码
    分享织梦自动生成网站sitemap,但是需要安装插件,今天分享,织梦如何不使用插件,制作网站xml地图。
    织梦dede自定义表单添加全选功能 dede自定义表单实操代码
    织梦自定义表单没有全选/取消全选功能,有时候想要全选全,需要一个一个选择比较麻烦,如果网站有大量的恶意留言,想要删除更麻烦。虽然可以使用sql命令删除恶意留言,但不是很灵活,今天就给织梦自定义表单添加全选
    dede cms如何定时主动推送文章 dede实现定时推送文章给百度的方法
    前几天百度公开课说了,api推送的优先级比较高,所以在没有快速收录的情况下,api提交必须要有,那么织梦要如何实现api主动推送呢?
    织梦dede发布文章实时api主动推送
    dede定时主动推送,虽然也很方便,但只能固定时间推送,实时性不高,今天小编分享如何发布文章后实时api推送至百度?
    • • 织梦系统 dedecms pagelist标签使用修改
    • • 织梦网站怎么搬家?dede系统网站迁移数
    • • 织梦网站安全设置方法 dede系统网站如何
    • • 织梦自动生成网站地图sitemap代码 dede
    • • dede织梦纯代码制作网站地图 dede网站地
    • • 织梦dede自定义表单添加全选功能 dede自
    • • dede cms如何定时主动推送文章 dede实现
    • • 织梦dede发布文章实时api主动推送
    • • 织梦dedecms当前位置标签代码的5种写法
    • • 织梦DEDECMS文章、栏目页获取当前页面顶
    JavaScriptPHPsqlMysqLwindows使用wordpressAJAXList方法系统文件安装Nginx教程数据库设置Woocommerc服务器pdf错误获取创建显示函数用户更新添加IIS删除自定义代码进行.htaccess调用软件选择功能属性下载
    • 友情链接:
    • 菜鸟教程
    • 前端之家
    • 编程小课
    • 小编
    • -
    • 我要投稿
    • -
    • 广告合作
    • -
    • 联系我们
    • -
    • 免责声明
    • -
    • 网站地图
    版权所有 © 2018 小编 闽ICP备13020303号-8
    微信公众号搜索 “ 程序精选 ” ,选择关注!
    微信公众号搜"程序精选"关注
    微信扫一扫可直接关注哦!

    DedeCMS让channelartlist支持currentstyle属性

    DedeCMS让channelartlist支持currentstyle属性

     

    dedecms默认源码的channelartlist是不支持currentstyle属性的。currentstyle属性在导航中应用的比较多,可以实现循环调用栏目后,当前页<li>标签获得一个的属性,具体作用就不做说明了,需要修改文件。

    打开include\taglib\channelartlist.lib.php

    找到:

    $pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]); 在此行代码下方增加以下代码: //让channelarclist支持currentstyle属性 if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){ $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : 'nLi on'; } else{ $pv->Fields['currentstyle'] = 'nLi'; } //让channelarclist支持currentstyle属性end

    网上找到的一般没有加$typeids[$i]['id'] ==$refObj->TypeLink->TypeInfos['topid']

    添加这个后才能对二级栏目也起作用。

    调用办法: {dede:channelartlist typeid='2' current} <li> <a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a> </li> {/dede:channelartlist}

    如果是当前栏目则 li的class属性显示current,否则显示,也可以修改current。

    导航用channelartlist调用子栏目办法 <div> <li {dede:field name=typeid runphp="yes"}(@me=="")? @me="":@me="";{/dede:field}> <a href='{dede:global.cfg_basehost/}'>首页</a> </li> <!-- 首页判断是否添加class --> {dede:channelartlist typeid='top' current} <li> <a href=http://www.dede58.com/a/dedejq/"{dede:field name='typeurl'/}">{dede:field name='typename'/}</a> <ul> {dede:channel type='son' noself='yes'} <li><a href=http://www.dede58.com/a/dedejq/"[field:typelink/]">[field:typename/]</a></li> {/dede:channel} </ul> </li> {/dede:channelartlist} </div>

    循环调用出的栏目<li>会有一个class=“navOn”属性。

    配合使用 SuperSlide可以构建美观的下拉菜单功能

    具体的办法可以参考官方的使用办法,我使用的时候发现,“手动或后台程序添加titOnClassName类名(默认是'on'),相当于设置参数defaultIndex:2。若同时设置参数returnDefault:true,则鼠标移走后返回当前频道。 ”这个功能失效,更新后才能正常使用,但是一定要按照以上步骤进行修改才能让channelartlist支持currentstyle属性。下面附修改办法:

    include\taglib\channelartlist.lib.php部分修改为

    if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){ $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : 'nLi on'; } else{ $pv->Fields['currentstyle'] = 'nLi';

    后台调用部分修改为:

    <div> <li {dede:field name=typeid runphp="yes"}(@me=="")? @me="":@me="";{/dede:field}> <a href='{dede:global.cfg_basehost/}'>首页</a> </li> <!-- 当前栏目输出<li>,非当前栏目输出<li> --> {dede:channelartlist typeid='top' current} <li> <a href=http://www.dede58.com/a/dedejq/"{dede:field name='typeurl'/}">{dede:field name='typename'/}</a> <ul> {dede:channel type='son' noself='yes'} <li><a href=http://www.dede58.com/a/dedejq/"[field:typelink/]">[field:typename/]</a></li> {/dede:channel} </ul> </li> {/dede:channelartlist} </div> 本文章网址:http://www.ppssdd.com/code/14353.html。转载请保留出处,谢谢合作!

    dede让channelartlist标签支持currentstyle属性 完美解决

    dede让channelartlist标签支持currentstyle属性 完美解决

    打开include\taglib\channelartlist.lib.PHP
    找到

    [PHP] view plaincopyprint?
     
  • $pv->Fields['typeurl'] = GetoneTypeUrlA($typeids[$i]);  

  • 在此行代码下方增加以下代码:

    ?
     

    关于织梦让channelartlist标签里的channel支持currentstyle织梦标签调用的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于dede channelartlist 中引用channel 并且设置当前选择类的样式,currentstyle暂时没有效果.特发求助!!!! - samcao、dede(织梦)CMS:channelArtlist标签应用、DedeCMS让channelartlist支持currentstyle属性、dede让channelartlist标签支持currentstyle属性 完美解决的相关知识,请在本站寻找。

    本文标签:

    上一篇织梦新闻简介[field:description /]怎么修改字数限制(织梦修改文章发布时间)

    下一篇android – 上传Flutter app debuggable时出现Google Play错误(flutter上传文件)