好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

ecshop在首页如何调用dedecms文章

ecshop的文章功能实在是太过于简单了,所以我们为了丰富网站的内容,一般会集成DEDECMS来添加一些资讯文章,主要是DEDECMS文章处理相当强大,便于二次开发,下面通过两大步骤实现ecshop在首页调用dedecms文章: 一、在index.php中的添加和修改的两步: 1、在index.php里载入DEDECMS数据库文件,这样才能查询数据库: define('IN_ECS', true); /*载入dede*/ require_once(dirname(__FILE__)."/dede/include/common.inc.php"); 2、把查询到的文章列表赋给dede_articles数组: $smarty->assign('dede_articles', get_dede_articles()); //dede文章列表 3、获取dedecms的文章 /**  *  * 获取dedecms的文章  * @author http://www.majiaping.com/  * @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;   }

二、在模板文件index.dwt中两步实现首页调用DEDECMS文章 1、单独建立一个模板文章dede_articles.lbi,内容如下: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- {if $dede_articles} --> <div class="h3Title"><h3>相关文章</h3></div> <ul class="brandList">   <!-- {foreach from=$dede_articles item=article} -->         <li><a href="http://blog.163.com/bgh1988@126/blog/{$article.url}"  title="{$article.title}" rel="external">{$article.short_title|escape:html}   </a>         </li>   <!-- {/foreach} --> </ul> <!-- {/if} --> 2、在index.dwt中需要显示文章的地方包含dede_articles.lbi文件,实现ecshop首页调用dedecms文章: <!-- #BeginLibraryItem "/library/dede_articles.lbi" --><!-- #EndLibraryItem -->

 

 

 

 

 

查看更多关于ecshop在首页如何调用dedecms文章的详细内容...

  阅读:45次