您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程
ecshop调用指定dedecms织梦栏目文章列表
幼翠2023-12-12 22:25:07ecshop商城教程已有人查阅
导读系统:dedecms + ecshop 实现步骤: 1.在文章模版goods.dwt添加一个新的库文件dede_articles.lbi themes/default/goods.dwt
系统:dedecms + ecshop 实现步骤: 1.在文章模版goods.dwt添加一个新的库文件dede_articles.lbi themes/default/goods.dwt,请根据你的目录结构修改,如果是首页,请在index.php中添加,栏目页在category.php中添加
<!-- #BeginLibraryItem "/library/dede_articles.lbi" --><!-- #EndLibraryItem -->
2.themes/default/library/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="{$article.url}" title="{$article.title}" rel="external">{$article.short_title|escape:html}
</a> </li>
<!-- {/foreach} -->
</ul>
<!-- {/if} -->
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;//返回记录数
本文标签:
很赞哦! ()
上一篇:ecshop简化购物流程
相关文章
随机图文
-
ecshop常用标签大全
先从index.php主页开始页面关键字 {$keywords }页面标题 {$page_title}产品分类父分类列表 {foreach from=$categories item=cat }父分类超链接 http://localhost/ecsh -
ecshop首页促销商品下怎么显示促销倒计时间
有时我们需要在网站首页添加某个分类下的品牌,这就需要做些ecshop的二次开发,我写了一个简单的函数只要放在index.php中直接调用就ok了。 -
ecshop全国多城市分站的实现方法
ecshop中添加分站实现1个商城N个城市页面 有利于搜索优化很多朋友在问:“ECSHOP如何实现地方分站? ” -
ecshop订单列表增加商品检索的方法
近期ecshop网站做活动,统计商品订单量的时候没有按商品名搜索的选项,只能手动查询。这样效率很低下,而且容易出错。现在为列表增加一个简单的“按商品名搜索”表单项。
留言与评论 (共有 条评论) |