当前位置:首页 > 技术教程 > dede技术教程 > 正文内容

DedeCMS让curentstyle支持栏目英文名、缩略图、递增

访客4年前 (2020-11-16)dede技术教程1662

DedeCMS前端开发会用autoindex和currentstyle这两个重要标签,但默认的currentstyle标签并不支持这些二次开发的标签和自增标签[field:global.autoindex/],对栏目增加英文栏目和缩略图可以参考文章《DedeCMS增加英文栏目名称栏目缩略图及调用》。很多网站需要下面的功能:

1.调用多个频道采用不同CSS样式

这些DIV需要运用自增标签[field:global.autoindex/]或[field:global.itemindex/]实现不同的class或id。生成如下代码:

<p class="nav"> <ul>  <li class="a1"><a href="栏目1链接">栏目1</a></li>  <li class="a2"><a href="栏目2链接">栏目2</a></li>  <li class="a3"><a href="栏目3链接">栏目3</a></li> </ul></p>

这样就能自由编写样式了,在移动端首页的小图标运用较多。

2.用户知道自己在具体哪个栏目频道

搜索引擎可以通过标签或链接知道自己在那里,从用户体验角度,应用currentstyle标签判断当前频道,给DIV特定的class,编写不同的样式。就能直观的看得出自己的所在位置。

3.在实际应用中,往往需要二次开发,能让这两个标签更好用

根据上述要求,举个常用例子:(注意双引号和单引号的用法区别)

<p class="nav"> <ul>{dede:channel type='top' currentstyle="  <li class='on ico-~autoindex~'>   <img src='~typelitpic~' />   <p><a href='~typelink~' title='中文栏目'>~typename~</a></p>   <p><a href='~typelink~' title='英文栏目'>~typenameen~</a></p>  </li>"}  <li class="ico-[field:global.autoindex/]">   <img src="[field:typelitpic/]"/><!--栏目缩略图-->   <p><a href="[field:typeurl/]" title="中文栏目">[field:typename/]</a></p>   <p><a href="[field:typeurl/]" title="英文栏目">[field:typenameen/]</a></p>  </li> </ul></p>

在include/taglib/channel.lib.php,找到

 $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);

在下面增加

//增加autoindex,typenameen,typelitpic$linkOkstr = str_replace("~autoindex~",$GLOBALS['autoindex'],$linkOkstr);$linkOkstr = str_replace("~typenameen~",$row['typenameen'],$linkOkstr);$linkOkstr = str_replace("~typelitpic~",$row['typelitpic'],$linkOkstr);

这样修改后前台是不能直接调用的,继续找到

if($type=='top')

这是顶级栏目,找到typename,跟着typename后面增加

typenameen,typelitpic,

其他栏目在78,86,92左右,做相同的修改。

这样就能在应用样式currentstyle增加调用缩略图(typelitpic)、栏目英文名(typenameen)、自增标签([field:global.autoindex/])

声明:
本站大部分资源收集于网络,只做学习和交流使用,版权归原作者所有。
若您需要使用非免费的软件或服务,请购买正版授权并合法使用!
本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理!

分享给朋友:

“DedeCMS让curentstyle支持栏目英文名、缩略图、递增” 的相关文章

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。