ECSHOP教程之调用分类文章

这几天帮一个朋友弄一个商城,用的是ECSHOP,感觉ECSHOP功能确实够 强大,但是对于不懂程序的人来说,使用起来还是挺复杂,稍微做点修改就得大费周折,如果能像动易那样出一套标签库就好了。

比如深蓝使用的时候需要按分类调用一下文章,这是一个很常见的功能,可以官方并没有提供,只好自己想办法,最后终于找到了办法。请看一下ECSHOP教程

具体实现方法:
举例如首页调用方法:
1、先打开index.php文件找到以下代码:

$smarty->assign(‘new_articles‘, index_get_new_articles()); // 最新文章

在它下面增加以下:

//调用方法

$smarty->assign(‘class_articles_4‘, index_get_class_articles(4,6)); // 分类调用文章
//调用多个就修改传进去的参数,以及模板接收的变量,其中上面的4就是文章分类ID,其中6是调用数量
$smarty->assign(‘class_articles_5‘, index_get_class_articles(5,6)); // 分类调用文章
$smarty->assign(‘class_articles_6‘, index_get_class_articles(6,6)); // 分类调用文章
$smarty->assign(‘class_articles_7‘, index_get_class_articles(7,6)); // 分类调用文章
$smarty->assign(‘class_articles_8‘, index_get_class_articles(8,6)); // 分类调用文章
//在最后?>这个之前增加以下函数

function index_get_class_articles($cat_aid, $cat_num)
{
$sql = "SELECT article_id, title,open_type,cat_id,file_url FROM " .$GLOBALS[‘ecs‘]->table(‘article‘). " WHERE cat_id = ".$cat_aid." and is_open = 1 LIMIT " . $cat_num;
$res = $GLOBALS[‘db‘]->getAll($sql);
$arr = array();
foreach ($res AS $idx => $row)
{
       $arr[$idx][‘id‘]       = $row[‘article_id‘];
       $arr[$idx][‘title‘]    = $row[‘title‘];
       $arr[$idx][‘short_title‘] = $GLOBALS[‘_CFG‘][‘article_title_length‘] > 0 ?
                                    sub_str($row[‘title‘], $GLOBALS[‘_CFG‘][‘article_title_length‘]) : $row[‘title‘];
       $arr[$idx][‘cat_name‘] = $row[‘cat_name‘];
       $arr[$idx][‘add_time‘] = local_date($GLOBALS[‘_CFG‘][‘date_format‘], $row[‘add_time‘]);
       $arr[$idx][‘url‘]       = $row[‘open_type‘] != 1 ?
                                    build_uri(‘article‘, array(‘aid‘ => $row[‘article_id‘]), $row[‘title‘]) : trim($row[‘file_url‘]);
       $arr[$idx][‘cat_url‘]     = build_uri(‘article_cat‘, array(‘acid‘ => $row[‘cat_id‘]));
}
return $arr;
}

2、第二步是在index.dwt模板想调用的地方增加以下代码,(注:以下调上面设置里的分类ID为8的文章列表):

<!--{foreach from=$class_articles_8 item=article}-->
       <li><a href="{$article.url}" title="{$article.title|escape:html}"><!--{$article.short_title|truncate:15:true}--></a></li>
   <!--{/foreach}-->

按以上方法调用成功。

时间: 2024-08-03 07:29:20

ECSHOP教程之调用分类文章的相关文章

ECSHOP调用分类文章

这几天帮一个朋友弄一个商城,用的是ECSHOP,感觉ECSHOP功能确实够 强大,但是对于不懂程序的人来说,使用起来还是挺复杂,稍微做点修改就得大费周折,如果能像动易那样出一套标签库就好了. 比如深蓝使用的时候需要按分类调用一下文章,这是一个很常见的功能,可以官方并没有提供,只好自己想办法,最后终于找到了办法.感谢ggmo和 guantq. 具体实现方法:举例如首页调用方法:1.先打开index.php文件找到以下代码:$smarty->assign('new_articles', index_

ecshop怎么全局调用指定文章二级分类(注意是文章分类不是二级商品分类)

1.直接将以下代码复制到要显示的模板,修改所需文章分类id,其中 {if $cat.id eq 16}的意思是调用文章分类ID为16下的二级文章分类     <? $GLOBALS['smarty']->assign('article_categories',   article_categories_tree(0)); //文章分类树 ?> <!--{foreach from=$article_categories item=cat}-->     {if $cat.id 

ECSHOP首页显示调用指定文章分类文章

$smarty->assign('wenz2',    get_cat_articles(27, 1, 8 )); index.dwt<!--{foreach from=$wenz1 item=art}--><tr><td height="25">·<a href="{$art.url}" title="{$art.title}">{$art.title}</a></td&g

EcShop首页显示特定分类的精品新品热销特价等推荐商品

EcShop首页显示特定分类的精品新品热销特价等推荐商品 很多大型的B2C商城都有特定分类专区,该分类下的[分类名称].[推荐子分类 或 推荐品牌].[大图片/推荐单品].[推荐商品].[促销商品].[推荐商品/热销排行]等,这是基于SEO及用户体验来开发的.ECSHOP虽然有类似的功能,并且推荐商品还分[精品].[新品].[热销]三类,但灵活性不是很好,首页第一次加载的时候,无论是[精品].[新品]还是[热销]都不能指定分类,只能不分类别地显示所有.即使是在分类的设置里面有[设置为首页推荐:

帝国cms调用随机文章 支持一个id段内的调用

随机调用文章可以从某个角度上说是更新了网页,如果是动态网页每次刷新网页那个调用列表都是不同,如果是静态网页后台重新生成html后也会变化.那么帝国cms调用随机文章怎么做呢?我们可以用灵动标签(e:loop),插入如下代码,哪里需要插哪里,哈哈 [e:loop={"select * from {$dbtbpre}ecms_news order by rand() desc limit 11",20,24,0}] //11是随机调用的数量 <li><a href=&qu

wordpress 页面显示指定分类文章

首页显示指定分类备份主题文件夹中的 index.php 文件,修改index.php找到如下一行代码:<?php if (have_posts()) : ?>在上面这行代码的前面加上:<?php query_posts('showposts=10 & cat=1');?>其中 1 为分类 id,10为文章篇数.想在首页中显示指定分类文章也可参考如下操作 // 只显示分类 14 下的文章 <?php while( have_posts()): the_post();up

ecshop销售排行调用促销价格和市场价格

我们知道在ecshop某些产品销售之后,销售量高的产品销售出去之后,能形成销售排行,ecshop的销售排行必须保持两个条件,首先是ecshop的商品必须库存足够,其次商品该商品必须上架的. 我们分析如何在ecshop销售排行调用促销价格和市场价格,首先找到ecshop中的lib_goods.php中的函数function get_top10($cats = ''),先检索商品市场价格,g.market_price,其次获取促销价格和促销的开始和结束时间g.promote_start_date,

dede在内页调用全站文章列表

由于网站比较简单,就把文章列表抽象成导航栏,但在文章内页却掉不出全站文章列表. 经过探究发现自己在用arclist调用时少加了一个属性typeid='top',因为在列表页或者文章页调出来的是本栏目下的文章,这是系统固定好的,如果希望在列表页和文章页也调用全站的内容,需要加上 typeid='top'这个标签属性,typeid也可以指定特定的顶级栏目id. 所以要全站调用文章列表(包括自定义标签)头部应该这样写才对:{dede:arclist addfields='num,en_name,ord

帝国cms调用最新文章 利用文字调用标签phomenews

最近建站时,朋友要求在头部用帝国cms调用最新文章,当时想了用灵动标签调用,但需要设置一个具体的栏目id,这样就不是调用全站的最新文章了,后面查看了一下标签说明,想到了文字调用标签phomenews. 文字调用标签 (phomenews)格式为:[phomenews]栏目ID/专题ID,显示条数,标题截取数,是否显示时间,操作类型,是否显示栏目名,'时间格式化',附加SQL条件,显示排序[/phomenews],本身也是要设置栏目id的,这时我们想到了通过调用数据表的方式, 因为很多栏目都是文章