ECSHOP调用指定DEDECMS织梦栏目文章列表

2016-06-13 13:05 来源:www.chinab4c.com 作者:ecshop专家

系统:dedecms + ecshop   实现步骤: 1.在文章模版goods.dwt添加一个新的库文件dede_articles.lbi themes/default/goods.dwt,请根据你的目录结构修改,如果是首页,请在index.php中添加,栏目页在category.php中添加 2.themes/default/library/dede_articles.lbi

相关资讯

  • {$article.short_title|escape:html}
 3.goods.php载入dede,请根据你的目录结构修改,如果是首页,请在index.php中添加,栏目页在category.php中添加。     define('IN_ECS', true);     /*载入dede*/     require_once(dirname(__FILE__)."/luxury/include/common.inc.php");  4.goods.php调用dede数据,如果是首页,请在index.php中添加,栏目页在category.php中添加     $smarty->assign('dede_articles', get_dede_articles()); //dede文章列表   5.get_dede_articles函数简单实现,如果是首页,请在index.php中添加,栏目页在category.php中添加。     /**      *      * 获取dedecms的文章      * @author http://www.heui.org      * @return 文章列表      */           function get_dede_articles() {                 //文档排序的方式         $orderby = 'rand';         $ordersql = '';         if($orderby=='hot' || $orderby=='click') $ordersql = " ORDER BY arc.click $orderWay";         else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " ORDER BY arc.sortrank $orderWay";         else if($orderby == 'id') $ordersql = "  ORDER BY arc.id $orderWay";         else if($orderby == 'near') $ordersql = " ORDER BY ABS(arc.id - ".$arcid.")";         else if($orderby == 'lastpost') $ordersql = "  ORDER BY arc.lastpost $orderWay";         else if($orderby == 'scores') $ordersql = "  ORDER BY arc.scores $orderWay";         else if($orderby == 'rand') $ordersql = "  ORDER BY rand()";         else $ordersql = " ORDER BY arc.sortrank $orderWay";               //limit条件         $line = 10;         $limit = trim(preg_replace('#limit#is', '', $limit));         if($limit!='') $limitsql = " LIMIT $limit ";         else $limitsql = " LIMIT 0,$line ";               $orwhere = '';         if(isset($orwheres[0])) {             $orwhere = join(' And ',$orwheres);             $orwhere = preg_replace("#^ And#is", '', $orwhere);             $orwhere = preg_replace("#And[ ]{1,}And#is", 'And ', $orwhere);         }         if($orwhere!='') $orwhere = " WHERE $orwhere ";               $addfieldsSql = '';         $addfieldsSqlJoin = '';               $sql =  "SELECT            arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,                 tp.moresite,tp.siteurl,tp.sitepath                 $addfieldsSql                  FROM `dede_archives` arc left join `dede_arctype` tp on arc.typeid=tp.id                  $addfieldsSqlJoin                  $orwhere $ordersql $limitsql";               $res = $GLOBALS['db']->query($sql);         $arr = array();         while ($row = $GLOBALS['db']->fetchRow($res))         {             $row['url']         = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],                     $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row           ['moresite'],$row['siteurl'],$row['sitepath']);                   $row['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?                 sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];                   $arr[] = $row;         }               return $arr;           }  总结:最主要是需要实现获取文章路径, 在这个案例中我们载入dede, 直接调用GetFileUrl   提示:把$orwhere = '';改为$orwhere = 'arc.typeid=1';//表示调用栏目ID为1的文章列表 $line = 10;//返回记录数