我们先打开根目录下的article_cat.php这个文件,
在第19行      require(dirname(__FILE__) . '/includes/init.php')

这是一个加载includes目录下的init.php这个文件,init.php是一个初始化文件,在里边定义的很多初始页面的文章。
而我们的article_cat.php是文章分类页面的程序,但是并没有调用指定ID分类的文章这个程序,所以我们需要自己写一个这样功能的程序。
添加的程序可以添加在article_cat.php文件里,也可以添加在init.php文件下。

我们在这里只介绍在init.php中添加,在article_cat.php中添加的方法类似,只是在article_cat.php中添加的就只能在文章分类下调用这个添加的函数。

打开init.php之后,在php代码结束符?>之前添加一下代码:

//指定分类指定分类模板指向----------请先看完下面说明再动手复制

$smarty->assign('class_articles_5', index_get_class_articles(5,3));// 分类调用文章
$smarty->assign('class_articles_6', index_get_class_articles(6,3)); // 分类调用文章
//指定分类指定分类模板指向----------请先看完下面说明再动手复制
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;
}

//这里建议最好修改下上面那句也就是文章链接的调用,因为本人测试如果调用了文章缩略图(后台文章那个上传文件当做文章缩略图调用),有的文链接章路径就会出错,会变成图片路径
//把
$arr[$idx]['url'] = $row['open_type'] != 1 ?
    build_uri('article', array('aid' => $row['article_id']), $row['title']) : trim($row['file_url']);
//改成

$arr[$idx]['url'] = build_uri('article', array('aid' => $row['article_id']), $row['title']);


现在说明一下这个函数的调用
$smarty->assign('class_articles_5', index_get_class_articles(5,3));// 分类调用文章
中的5是文章的分类ID,3是该分类下调用的文章总数。
在这里特别说明下 (//指定分类模板指向,也就是函数调用:$smarty->assign('class_articles_5', index_get_class_articles(5,3));// 分类调用文章) 这一段最好放到所需要显示的php里面,比如index.php、article.php 、article_cat.php
经过本人测试,指定分类模板指向放到init.php最后这里,会导致前台验证码无法显示。就算注释掉那断 /* 判断是否支持 Gzip 模式...*/ 代码也不管用,其他人不知道有没有出现这种情况
1、如在文章内容模板调用 先打开article.php,
先找到 if (!$smarty->is_cached('article.dwt', $cache_id)),大概45行,
把 $smarty->assign('class_articles_5', index_get_class_articles(5,3));// 分类调用文章
复制到 if (!$smarty->is_cached('article.dwt', $cache_id)) 之前一行,之后会出错啊
2、如在文章列表模板调用 先打开article_cat.php,
找到 $smarty->display('article_cat.dwt', $cache_id); 就在最后吧,
把 $smarty->assign('class_articles_5', index_get_class_articles(5,3));// 分类调用文章
复制到 $smarty->display('article_cat.dwt', $cache_id); 之前一行,之后会出错啊


如何在ecshop中查看文章分类的ID号

上边是程序里定义的代码,接下来就是说一下是怎么在前台调用出来
只需要在模板里添加下边的代码就OK了。

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

分享给小伙伴们:

转载于:https://www.cnblogs.com/zhicheng/p/4387608.html

ecshop调用指定ID分类下的文章列表(指定分类下的文章)相关推荐

  1. 文章列表的显示 以及创建文章 还有文章详情的基本--react项目5

    第一步:在render之前设置一个状态state  在点击我的文章按钮得时候绑定事件 执行一个函数进行如果Tab=1 样式为高亮     当点击喜欢文章得时候  tab为2   样式为高亮 进行高亮事 ...

  2. 使用java怎么实现商品三级分类_如何实现列表三级分类---后端+前端

    对于分类来说,一般包括一级分类,二级分类,三级分类, 大部分网站都是左边点击二级分类,右边显示相对应商品 下面就来为大家详细分析一下该如何实现吧. 如图: 分析图 1.1后端实现:JavaBean 与 ...

  3. layui获得列表json数据_golang实战开发之博客功能篇:文章列表的读取与展示和分类筛选展示处理...

    前面我们介绍了文章详情页面的展示的逻辑代码实现,这一节,我们将继续讲解文章列表的读取和展示.文章根据分类进行筛选.最新文章.热门文章等的调用处理逻辑. 首先,我们先编写文章列表页的前端代码.这里,我们 ...

  4. mipcms文章列表调用

    文章列表调用标签也支持全局调用,那么下面就将 mipcms 支持的文章列表调用标签列举一下,在列举之前先熟悉一下文章列表模块初始化的变量值,这些变量值是文章列表模块自带的变量值.熟悉这些变量值将提高模 ...

  5. 仿今日头条项目——首页(展示文章列表)

    1.头部导航栏组件 1.使用导航栏组件 2.在导航栏组件中插入按钮 <template><div class="home-container"><!- ...

  6. laravel大型项目系列教程(四)之显示文章列表和用户修改文章

    小编心语:不知不觉已经第四部分了,非常感谢很多人给小编提的意见,改了很多bug,希望以后能继续帮小编找找茬~小编也不希望误导大家~这一节,主要讲的是如何显示文章列表和让用户修改文章,小编预告一下(一共 ...

  7. java基础 --- Arrays.asList():返回指定数组支持的固定大小列表

    Arrays.asList():返回指定数组支持的固定大小列表 首先看下这个方法的源码注释,注意第一句,Returns a fixed-size list backed by the specifie ...

  8. 织梦DedeCMS文章列表页自动统计当前栏目文档总数的方法

    可以通过该方法在列表页内显示该栏目共有多少篇文章,有助于提升用户体验.比如说我一个文章列表下面有10篇文章,就自动统计出10篇,到20篇的时候自动统计成20篇. 实现这个功能有两种具体的方法: 第一种 ...

  9. uni-app实战之社区交友APP(17)账号模块和文章列表实现

    文章目录 前言 一.账号登录交互实现 1.登录页面完善和账号密码登录实现 2.手机号和用户名登录实现 3.登录状态保持 4.退出登录交互实现 5.第三方登录交互实现 二.其他账号功能实现 1.修改账号 ...

最新文章

  1. Web前端之html_day2
  2. LIVE 预告 | 快手宋洋:千亿特征,万亿参数,快手推荐精排模型的发展史
  3. golang Reflect包
  4. WPS:Excel数据表格查询定位技巧之如何设置加重颜色的十字定位(定位数据更加一目了然)
  5. 中原银行张本晨:中原银行数字化营销体系建设实践
  6. 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架
  7. 机器学习实战 | SKLearn最全应用指南
  8. One year ago begininginginginging!
  9. python \uxxxx转中文,Python列表中的字典 \uxxxx转中文,
  10. java 64 access_64位操作系统 Java Odbc Access数据库连接
  11. window 删除文件报错显示被程序占用 强制删除被占用的文件
  12. java仓库管理设计报告_仓库管理系统(课程设计JSPJAVA大学设计).doc
  13. uniapp小程序发布过程中,图片跟音频资源超过200K无法上传
  14. Linux下使用md5sum计算和检验MD5码
  15. 放弃Notepad++,替代品很多
  16. 移动安全-adb使用和提取apk文件
  17. mysql 矩阵运算_HDU 2276 Kiki amp; Little Kiki 2 (位运算+矩阵快速幂)
  18. echarts树图图标修改成图片以及自定义图片首次加载不显示的问题的修改<js>
  19. 2022 年合肥市经开区第七届青少年信息学竞赛 小学组试题
  20. Redis缓存:java写入文件不覆盖

热门文章

  1. 拼装机器人感想_学习制作机器人的感想作文500字6篇
  2. jmh气象传真图网站_在冬奥滑雪场,他凭着气象信息,念好一本生意经
  3. mac idea用自带的maven还是_苹果电脑自带截图工具怎么用?mac自带截屏工具使用技巧分享
  4. java 顶层类_Javase之集合体系之(1)集合顶层类Collection与其迭代器知识
  5. onedrive目录PHP源码,另一个OneDrive目录索引应用 OLAINDEX
  6. Linux脚本之定时清空文件内容
  7. python 函数装饰器_python函数装饰器的用法
  8. Linux命令——find详解
  9. Java程序设计第三次作业
  10. java中javamail收发邮件实现方法