我爱学习网首页 | 设为首页 | 收藏本站 | 网站地图 您好,欢迎光临我爱学习网
我爱学习网

当前位置:首页 > 编程开发 > dedecms织梦 >

{dede:datalist} 里面如何实现嵌套循环

时间:2013-05-22 09:12 来源:未知 | 作者:易享学习网 | 本文已影响
{dede:datalist} 里面如何实现嵌套循环啊,我想在列表里面再查询另外一个表,循环输出内容。


用函数的办法解决,公布解决办法,希望给遇到同样问题的人一个思路,同时也希望有更完美解决方案的人贴出来。

黄页列表模板中这样:

{dede:field.mid function='companyshoplist(@me)'/}

php函数,把函数放在公共调用地方就可以了:

/**
* 列出企业会员的4个商品
* $companyid 企业会员ID
**/

function companyshoplist($companyid)
{

global $db;   
$query = "SELECT `dede_archives`.`id`,`dede_archives`.`title`,`dede_archives`.`litpic`,`dede_addonshop`.`aid` FROM `dede_archives` JOIN `dede_addonshop` ON `dede_archives`.`id`=`dede_addonshop`.`aid` where `dede_archives`.`mid`=".$companyid." order by `dede_archives`.`id` desc limit 0,4";
$db->SetQuery($query);
    $db->Execute('tt');
$list='';
while($arr = $db->GetArray('tt'))  
  {  
     
   $litpic=$arr["litpic"];
            if($litpic=='') //判断产品缩略图是否存在
                 {
                    $litpic='/images/defaultpic.gif';
                 }
             else
                 {
                    $litpic=$litpic;
                 } //end if
   
   $list.="<li><a href='/plus/view.php?aid=".$arr["id"]."' target='_blank'><img src='".$litpic."' width='136' height='133' /></a><span><a href='/plus/view.php?aid=".$arr["id"]."' target='_blank'>".cn_substr($arr["title"],20)."</a></span> </li>"; 
  
  
  } //end while

if(trim($list)=='') //判断商品列表是否存在
   {
    $list.= "<li><img src='/images/defaultpic.gif' width='136' height='133' /><span><font color='#999999'>未上传产品</font></span></li>";
   }
    
   
    return $list;
} (责任编辑:我爱学习网)


分享到: 更多