首页 > EmpireCMS学院 > 帝国技巧 > 查看内容
admin

帝国CMS在非列表模板中灵动标签调用标题图片的替换方法

发表于 2015-11-06 12:11栏目:帝国技巧

  • 回复
  • 浏览

帝国CMS在非列表模板中灵动标签调用标题图片的替换方法。大家都知道,在列表页中,如果没有标题图片,一般会显示/e/data/images/notimg.gif这个图片,而在非列表页中调用图文信息标题列表的话,正常是会在灵动标签里面加判断,只调用有标题图片的信息。但是如果你要实现调用全部标题,也就是说,不管有没有图片,我都要调用出来,没图片的你自动给我加一张上去作为标题图片,那怎么办?这里我们就要在灵动标签里面再加一个php判断语句了,以下是代码实例。

举例说明

[e:loop={15,4,0,0}] //正常情况下,后面这个“是否只显示有图片的标题”一般是“1”,但是这里我写“0”,就是说不管有没有,我都要调用
<div class=”list ml15 mt15 height67 clearfix”>
<?php
if($navinfor[titlepic])
{
echo”<img class=’fl’ alt=’$bqr[title]’ src=’$navinfor[titlepic]’ width=90 height=60 />”; //这里开始判断,如果有标题图片,就显示标题图片
}
else
{
echo”<img class=’fl’ alt=’$bqr[title]’ src=’/e/data/images/notimg.gif’ width=90 height=60 />”; //如果没有图片,则调用你自定义的图片,我这里用的是帝国默认的notimg图片
}
?>
<p class=”ml10 fl” style=”width:213px;”><a class=”no_unl” href=”<?=$bqsr[titleurl]?>” target=”_blank” title=”<?=$bqr[title]?>” style=”width:213px;”><?=esub($bqr[title],30)?></a>
<?=esub($bqr[smalltext],60)?>&hellip;
</p>
</div>
[/e:loop]

同样,代码也可以这样写:

[e:loop={‘1,2,3,4,5,6′,8,0,0}]
<li class=”index_list_item”>
<a href=”[!–titleurl–]” class=”thumb” target=”_blank”><?=$bqr[titlepic]?”<img src=’$bqr[titlepic]’ alt=’$bqr[title]’ width=’100′ height=’100′>”:”<img src='[!–news.url–]skin/blog/images/list.jpg’ alt=’$bqr[title]’ width=’100′ height=’100′>”?> </a>
<div class=”desc”>
<h4 class=”channel”><a target=”_blank” href=”<?=$bqsr[classurl]?>”>[<?=$bqsr[classname]?>]</a> <a target=”_blank” href=”<?=$bqsr[titleurl]?>” class=”title”>[!–title–]</a></h4>
<h5><?=date(‘Y-m-d H:i:s’,$bqr[newstime])?> – 发表</h5>
<p><?=esub($bqr[smalltext],160)?></p>
<p class=”more”><a target=”_blank” href=”[!–titleurl–]”>阅读更多 &raquo;</a></p>
</div>
</li>[/e:loop]

实用扩展

按照上面的思路,可以达到我们预期的效果,可是效果真的出来了的时候,你又觉得太单调了,因为如果连续几篇文章都没有标题图片,那都是调用自己定义的那一张,是不是太傻了?我们可以利用第一个代码例子扩展一下。

[e:loop={15,4,0,0}] //正常情况下,后面这个“是否只显示有图片的标题”一般是“1”,但是这里我写“0”,就是说不管有没有,我都要调用
<div class=”list ml15 mt15 height67 clearfix”>
<?php
if($navinfor[titlepic])
{
echo”<img class=’fl’ alt=’$bqr[title]’ src=’$navinfor[titlepic]’ width=90 height=60 />”; //这里开始判断,如果有标题图片,就显示标题图片
}
else
{
echo”<img class=’fl’ alt=’$bqr[title]’ src=’/e/data/images/notimg$bqno.gif‘ width=90 height=60 />”; //如果没有图片,则调用你自定义的图片,我这里用的是帝国默认的notimg图片
}
?>
<p class=”ml10 fl” style=”width:213px;”><a class=”no_unl” href=”<?=$bqsr[titleurl]?>” target=”_blank” title=”<?=$bqr[title]?>” style=”width:213px;”><?=esub($bqr[title],30)?></a>
<?=esub($bqr[smalltext],60)?>&hellip;
</p>
</div>
[/e:loop]