织梦DedeCMS导航菜单外部链接自动新窗口打开教程
在织梦DedeCMS网站建设中,导航菜单经常需要处理外部链接。当栏目属性设置为外部链接时,通常希望该链接在新窗口打开,以提升用户体验。本文详细讲解如何通过修改模板代码,实现导航菜单中外部链接自动添加target=”_blank”属性。
核心代码实现
以下代码适用于DedeCMS的channelartlist标签和channel标签,用于判断栏目是否为外部链接并自动添加新窗口打开属性。
<ul class="navig clearfix">
<li class="menudh_1"><a href="/"><i></i>网站首页</a></li>
{dede:channelartlist typeid='top' currentstyle='active'}
<li class="menudh_1 menudh_{dede:global name=itemindex runphp=yes}@me=@me+1;{/dede:global}">
<a{dede:field.ispart runphp=yes}(@me==2)? @me=' target="_blank"':@me='';{/dede:field.ispart} href="{dede:field name='typeurl'/}" class='{dede:field.currentstyle/}'>
<i></i>{dede:field name='typename'/}
</a>
<ul>
{dede:channel type=son noself=yes}
<li>
<a href="[field:typelink/]"[field:ispart runphp=yes](@me==2)? @me='target="_blank"':@me='';[/field:ispart]>
[field:typename/]
</a>
</li>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
</ul>
代码使用说明
上述代码的核心逻辑是:如果栏目属性是外部链接时,自动加入target=”_blank”新窗口打开,否则就不添加该属性。具体实现通过runphp=yes动态判断ispart字段的值来实现。
dede:channelartlist标签中的判断
在channelartlist标签中,使用以下代码进行判断:
{dede:field.ispart runphp=yes}(@me==2)? @me=' target="_blank"':@me='';{/dede:field.ispart}
当ispart字段值为2时,表示该栏目为外部链接,此时输出target=”_blank”属性;否则输出空字符串。
dede:channel标签中的判断
在channel标签中,使用以下代码实现相同功能:
[field:ispart runphp=yes](@me==2)? @me=' target="_blank"':@me='';[/field:ispart]
此代码同样判断ispart字段,当值为2时添加新窗口打开属性,确保子栏目中的外部链接也能正确在新窗口打开。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
