建站之家专注提供完整无错带后台数据网站模板下载
用户名:
密码:
注册帐号

海量网站模板下载 免费也不乏精品(整站带数据)

VIP会员更多整站带数据模板无限制下载(持续更新 测试完整)

建站之家交流群:网站建设交流群

当前位置: 首页 > 建站教程 > ecshop建站教程 >

ECShop商品详情页调用指定一篇文章ID全部内容的方法

更新时间:2017-02-28 浏览次数:

PHP源码 ASP源码 织梦模板 DISCUZ社区论坛模板 ECSHOP商城模板 帝国CMS模板 Wordpress主题 网站源码 其它源码模板 网站模板源码下载大全

一、ECSHOP商品详细页面如何调用一篇文章中的内容

 

方法:在哪个页面调用文章内容,就在哪个页面的php文件里添加以下内容,如果在商品页调用就在goods.php中加

$id = 280; //要调用文章的ID
$article_goods = $db->getOne("SELECT content FROM " . $ecs->table('article') . " WHERE article_id = '$id'");
$smarty->assign('article_goods ', $article_goods );

在模板种使用 {$article_goods} 就可以把id为280的文章内容调用出来了。如果需要调用其它id的文章,再按上面添加一个就行了。

 

二、ECShop商品详细页获取调用指定文章ID的内容

 

该功能主要用于在ECShop商品详情页面里的如:商品信息/规格参数/客户评价/购买记录/售后服务/常见问题;其中“ 售后服务/常见问题 ”就是以文章形式显示。而由于ECShop系统的详情页并没有调用指定文章的功能,导致很多的ECShop模板在商品详情页这块“售后服务/常见问题”里的内容都是写死在代码里,即添加、修改内容需要在代码里面操作,很多不懂html代码的用户,即使告诉他怎么添加他还是不会,连文件的路径都不会看。如此一来,添加这里的文章就变的相当麻烦了。

所以今天,模板营就借这篇文章来告诉大家如何简单修改下程序代码,即所谓的ECShop二次开发,就能轻松解决这一麻烦问题,您只需要通后台添加文章,商品详情页会自动调用。

同时模板营发布这篇文章的目的,也是希望能解决更多的不懂php代码的ECShop用户同样能做轻松好站长,感受ECShop的强大。

 

下面就是该页面调用内容的方法:

1、在/goods.php里尾部的  ?>  前加上如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/** 2013-06-26 作者:mbying.com
 * 获得指定的文章的内容
 *
 * @access  private
 * @param   integer     $article_id
 * @return  array
 */
function get_article($article_id)
{
    /* 获得文章的信息 */
    $sql = 'SELECT article_id, title,content' .
               ' FROM ' .$GLOBALS['ecs']->table('article') .
               ' WHERE article_id='.$article_id;
    $row = $GLOBALS['db']->getRow($sql);
    return $row;
}

2、第二步,在 goods.php 找到以下代码:

1
2
3
4
5
6
7
8
/* 获得商品的信息 */
$goods = get_goods_info($goods_id);
if ($goods === false)
{
   /* 如果没有找到任何记录则跳回到首页 */
   ecs_header("Location: ./\n");
   exit;
}

在这段代码的上面新建一行添加以下代码:

1
2
$smarty->assign('article',get_article(19));          //获取文章的内容页面
$smarty->assign('article1',get_article(20));         //获取文章的内容页面

最后在goods.dwt模板里输出:
{$article.content} //对应ID=19的变量名article
{$article1.content}//对应ID=20的变量名article1    

 

这里的两个变量分别为“售后服务/常见问题”里的内容,“ID=**”是指您调用的文章的ID值,根据您后台添加的文章的ID来填写。

 

三、ECSHOP商品分类商品调用关联文章方法

**
 * 获得指定分类下所有商品的关联文章
 * sun04zh3-20130321
 * @access  public
 * @param   integer     $cat_id
 * @return  array
 */
function get_category_linked_articles($cat_id)
{
 $sql = 'SELECT a.article_id, a.title, a.file_url,
  a.open_type, a.add_time ' .
'FROM ' . $GLOBALS['ecs']->table('goods_article') . ' AS ga, ' .
$GLOBALS['ecs']->table('article') . ' AS a, ' .
$GLOBALS['ecs']->table('goods').' AS g '.
"WHERE ga.article_id = a.article_id AND
 ".get_children($cat_id).
 " AND a.is_open = 1 and ga.goods_id = g.goods_id " .
'ORDER BY a.add_time DESC';
$res = $GLOBALS['db']->query($sql);

$arr = array();
while ($row = $GLOBALS['db']->fetchRow($res))
{
$row['url']= $row['open_type'] != 1 ?
 build_uri('article', array('aid'=>$row['article_id']), $row['title'])
  : trim($row['file_url']);
$row['add_time']    = local_date($GLOBALS['_CFG']['date_format'],
 $row['add_time']);
$row['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?
sub_str($row['title'], $GLOBALS['_CFG']
['article_title_length']) : $row['title'];

$arr[] = $row;
    }

    return $arr;
}


category.dwt模版页调用:

<!--{foreach from=$article_list_jnc item=jnclist}-->
<li><a href="{$jnclist.url}"  
title="{$jnclist.title}">{$jnclist.title}</a></li>
<!--{/foreach}-->

category.php对应程序页调用:

$smarty->assign('article_list',     get_category_linked_articles(8));

无链接信息! 提取密码:无需密码

栏目导航

WEB前端开发教程织梦建站教程ecshop建站教程帝国建站教程Discuz使用教程wordpress建站教程