HDCMS多图字段的使用?

下面是HDCMS多图字段的简单使用:

HDCMS在后台添加的多图,存到数据的时候是经过序列化过的,所以在使用的时候需要进行反序列化操作:

$moreImg = M('keshi')->where(array('aid'=>$aid,'cid'=>$cid))->find();
$moreImg['moreimg'] = unserialize($moreImg['moreimg']);
$moreShowImg = $moreImg['moreimg'];
$this->assign('moreShowImg',$moreShowImg);

这里循环过后的 $moreShowImg是一个数组:

array(2) { ["path"]=> array(2) { [0]=> string(44) "upload/content/2017/06/12/46121497234577.png" [1]=> string(44) "upload/content/2017/06/08/35671496908609.png" } ["alt"]=> array(2) { [0]=> string(9) "图片一" [1]=> string(9) "图片二" } }
//格式化
array(2) { 
    ["path"]=>array(2) { 
            [0]=> string(44) "upload/content/2017/06/12/46121497234577.png" 
            [1]=> string(44) "upload/content/2017/06/08/35671496908609.png" 
        } 
    ["alt"]=> array(2) { 
            [0]=> string(9) "图片一" 
            [1]=> string(9) "图片二" 
    }
}

获得上面图片地址,以及图片的alt属性;

方法一:HDCMS自带的标签:

<!-- 简单获取图片 -->
<foreach from="$moreShowImg['path']" key="$k" value="$v">
    <img src="{$v}"/>
</foreach>
<!-- 获取带有alt描述的图片 -->
<foreach from="$moreShowImg['path']" key="$k" value="$v">    
    <img src="{$v}" alt="{$moreShowImg['alt'][$k]}">
</foreach>

方法二:直接通过PHP标签来做:

<!-- 简单获取图片 -->
<?php foreach ($keshiShowImg['path'] as $k=>$v): ?>
    <img src="<?php echo $v;?>"  alt="<?php echo $keshiShowImg['alt'][$k] ?>"/>
<?php endforeach; ?>
<!-- 获取带有alt描述的图片 -->
<?php foreach ($keshiShowImg['path'] as $k=>$v): ?>
    <img src="<?php echo $v;?>"  alt="<?php echo $keshiShowImg['alt'][$k] ?>"/>
<?php endforeach; ?>

第二种方法更加灵活吧!个人觉得:(还可以嵌套其他)

<?php foreach ($keshiShowImg['path'] as $k=>$v): ?>
    <?php if($key==0): ?>
    <img src="<?php echo $v;?>" class="imgHover" alt="<?php echo $keshiShowImg['alt'][$k] ?>"/>
    <?php endif; ?>
    <?php if($key>0): ?>
    <img src="<?php echo $v;?>"  alt="<?php echo $keshiShowImg['alt'][$k] ?>"/>
    <?php endif; ?>
<?php endforeach; ?>
原文地址:https://www.cnblogs.com/e0yu/p/7150927.html