博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ecshop send.php on line 71,ECSHOP调用指定DEDECMS织梦栏目文章列表
阅读量:6829 次
发布时间:2019-06-26

本文共 2691 字,大约阅读时间需要 8 分钟。

系统:dedecms + ecshop

实现步骤:

1.在文章模版goods.dwt添加一个新的库文件dede_articles.lbi

themes/default/goods.dwt,请根据你的目录结构修改,如果是首页,请在index.php中添加,栏目页在category.php中添加

2.themes/default/library/dede_articles.lbi

相关资讯

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;//返回记录数

转载地址:http://oujkl.baihongyu.com/

你可能感兴趣的文章
一些硬盘相关知识
查看>>
创建、删除表
查看>>
Java继承中成员方法的overload(重载/过载)
查看>>
C#的Timer
查看>>
性能测试工具Locust
查看>>
The POM for XXX:jar:${com.ld.base.service.version} is missing, no dependency information available
查看>>
线程管理:守护线程的创建和运行
查看>>
iOS时间问题
查看>>
关于高可用的系统
查看>>
systemtap-note-6-userspace-stack-backtrace
查看>>
netty支持的各种socketchannel实现及比较
查看>>
配置文件操作(获取路径、及取得相应数据)
查看>>
HDU 3944 DP? [Lucas定理 诡异的预处理]
查看>>
[maven] settings 文件 国内镜像站
查看>>
[LeetCode] Encode and Decode TinyURL 编码和解码精简URL地址
查看>>
[转]关于OpenGL的绘制上下文
查看>>
MySQL索引及查询优化总结
查看>>
获取iOS系统版本号,慎重使用[[[UIDevice currentDevice] systemVersion] floatValue]——【sdk缺陷】...
查看>>
秀尔算法:破解RSA加密的“不灭神话” --zz
查看>>
Redis学习之路(003)- hiredis安装及测试
查看>>