本文作者:淘青松

织梦二级栏目调用产生空白div或块解决办法

淘青松 10个月前 ( 01-06 ) 377
织梦二级栏目调用产生空白div或块解决办法摘要: 使用织梦建站时很多时候会遇到一些个性化需求,例如导航栏目需要显示二级栏目,但是一些模板并没有二级栏目,这个时候就需要自己增加了。增加方法其实不难,使用dedecms提供的dede:...

使用织梦建站时很多时候会遇到一些个性化需求,例如导航栏目需要显示二级栏目,但是一些模板并没有二级栏目,这个时候就需要自己增加了。增加方法其实不难,使用dedecms提供的dede:channelartlist和dede:channel嵌套就可以完成。但是这样就会将全部栏目下加上二级栏目块,如果某个栏目没有二级栏目就会产生空白影响整体效果,下面是具体说明和解决办法

dedecms调用包含二级栏目的标签

{dede:channelartlist typeid='top' row='8'} 
    <li><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/} </a>
        <ul>
        { type='son' noself='yes'}
            <li><a href="[field:typelink/]">[field:typename/]</a></li>
         {/dede:channel} 
        </ul>
    </li>
{/dede:channelartlist}

一般都是以上调用方式,但是如果某个栏目下没有二级栏目,那么会产生一块空白区域,以上代码会产生一个空白的UL标签

解决办法:将模板引擎禁用标签:php去掉(系统设置->其它选项中),使用以下代码即可解决

{dede:channelartlist typeid='top'}
<li><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
    {dede:php}
    $id = $refObj->Fields['id'];
    $sql = ("SELECT * FROM dede_arctype where reid ='$id'");
    $db->SetQuery($sql);
    $db->Execute();
    if($db->GetTotalRow()){
    echo '<ul>';
    while($row = $db->GetArray()){
    $url = str_replace('{cmspath}','',($row[typedir]));
    echo "<li><a href=".$url.">".($row[typename])."</a></li>";
    };
    echo '</ul>';
    };
    {/dede:php}
</li>
{/dede:channelartlist}

如果使用了标签属性等多注意符号嵌套

文章版权及转载声明

作者:淘青松本文地址:https://cyansong.com/xue/29.html发布于 10个月前 ( 01-06 )
文章转载或复制请以超链接形式并注明出处青松博客

赞(0

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享