ecshop调用任意文章内容放在全站任何位置

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

ecshop是使用很广泛的一个商城系统。在商品详情页面有时需要有很多个切换说明,针对这个问题可以用ec自带的广告管理来搞定,但是缺点就是广告里面只能编辑源代码 使用很不方便。这里说的方法可以在后台添加一篇文章,然后再网站需要的地方调用这篇文章的内容。 第一种方法: 这个方法很简单 在哪个页面调用文章内容 就在哪个页面的php文件里添加以下内容,如果在商品页调用 就在goods.php中加 $id = 17; //要调用文章的ID $article_index =$db->getOne("select content from " .$ecs->table('article'). "  where article_id='$id'"); $smarty->assign('article_index', $article_index); 在模板种使用 {$article_index}  就可以把id为17的文章内容调用出来了。 如果需要调用其它id的文章 再按上面添加一个就行了。 第二种方法: 这种方法麻烦些 但是全站都可以调用,在include/int.php中添加如下代码 $article = get_article(17);   $smarty->assign('article',      $article); $article1 = get_article(18);   $smarty->assign('article1',      $article1); $article2 = get_article(19);   $smarty->assign('article2',      $article2); function get_article($article_id) {     /* 获得文章的信息 */     $sql = "SELECT a.*, IFNULL(AVG(r.comment_rank), 0) AS comment_rank ".             "FROM " .$GLOBALS['ecs']->table('article'). " AS a ".             "LEFT JOIN " .$GLOBALS['ecs']->table('comment'). " AS r ON r.id_value = a.article_id AND comment_type = 1 ".             "WHERE a.is_open = 1 AND a.article_id = '$article_id' GROUP BY a.article_id";     $row = $GLOBALS['db']->getRow($sql);     if ($row !== false)     {         $row['comment_rank'] = ceil($row['comment_rank']);                              // 用户 评论级别取整         $row['add_time']    = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']); // 修正添加时间显示         /* 作者信息如果为空,则用网站名称替换 */         if (empty($row['author']) || $row['author'] == '_SHOPHELP')         {             $row['author'] = $GLOBALS['_CFG']['shop_name'];         }     }     return $row; } 其中 $article = get_article(17);   $smarty->assign('article',      $article); 是调用id为17的 文章内容,在模板种 直接用{$article.content}  就可以调用处id为17的文章内容。{$article1.content}  调用的id为18的 文章内容。如果需要调用其它id文章内容只需添加即可。 个人采用第二种方法做的公司简介: 在首页加入代码

 

  企业简介  

 
 
{$article.content}