php登录抓取网页指定内容(ECSHOP插件网:如何简单修改下程序代码,感受ECShop的强大 )
优采云 发布时间: 2021-11-27 03:10php登录抓取网页指定内容(ECSHOP插件网:如何简单修改下程序代码,感受ECShop的强大
)
该功能主要用于ECShop的产品详情页面,如:产品信息/规格参数/客户评价/购买记录/售后服务/FAQ;其中,“售后服务/FAQ”以文章的形式展示。但是由于ECShop系统的详情页并没有调用文章的指定函数,所以很多ECShop模板在“售后服务/FAQ”内容的产品详情页中都是硬编码在代码中的,也就是添加,修改内容需要在代码中操作,很多不懂html代码的用户,就算告诉他怎么添加,他也不会,甚至连路径都看不懂文件。这样一来,在这里添加文章就变得相当麻烦了。所以ECSHOP插件网就借用这个文章 告诉你如何简单的修改程序代码,所谓的ECShop二次开发,可以轻松解决这个麻烦的问题,你只需要在后台添加文章,商品详情页就会自动调用。同时,ECSHOP插件网发布本文章的目的也是为了解决更多不懂php代码的ECShop用户,也可以轻松好站长,感受ECShop的强大。
以下是如何调用此页面上的内容:
1、在goods.php文件末尾的?>前添加如下代码:
/** 获得指定的文章的内容 作者:ecshop.cx
*
* @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文件,找到如下代码:
/* 获得商品的信息 */
$goods = get_goods_info($goods_id);
if ($goods === false)
{
/* 如果没有找到任何记录则跳回到首页 */
ecs_header("Location: ./\n");
exit;
}
在此代码上方的新行中添加以下代码:
$smarty->assign('article', get_article(19)); //获取文章的内容页面
$smarty->assign('article1', get_article(20)); //获取文章的内容页面
最后,在goods.dwt模板中输出:
{$article.content} //对应ID=19的变量名article
{$article1.content} //对应ID=20的变量名article1
这里的两个变量是“售后服务/FAQ”中的内容,“ID=**”指的是你调用的文章的ID值,根据你添加的文章的ID背景填写。
二次开发可以这样使用
/** 获得指定的文章的内容 作者:ecshop.cx
*
* @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;
}
$smarty->assign('article',get_article($article_id)); //获取文章的内容页面