您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程

ecshop调用指定ID分类栏目下文章的方法

翠柔2025-02-06Ecshop商城教程已有人查阅

导读我们先打开根目录下的article_cat.php这个文件,在第19行这是一个加载includes目录下的init.php这个文件,init.php是一个初始化文件

我们先打开根目录下的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}-->

本文标签:

很赞哦! ()

相关源码

  • (自适应响应式)工业机床工程农业机械设备网站源码下载框架适用于工程机械、机床设备等工业领域。通过模块调整可快速转型为农业机械、物流设备展示系统。预留7种工业产品展示模板。查看源码
  • (自适应)平面设计网络工作室个人作品展示网站模板免费下载基于PbootCMS内核开发的响应式网站模板,为设计工作室、创意机构打造的作品展示解决方案。通过模块化布局与极简交互设计,呈现设计作品的视觉细节,支持作品分类、案例解析等多维度展示方式。查看源码
  • (自适应手机端)seo博客网站模板新闻资讯网站源码下载本模板为SEO博客及新闻资讯类平台深度定制,采用PbootCMS内核开发。通过模块化设计实现多行业快速适配,仅需替换图文内容即可转型为医疗、教育、科技等领域网站。响应式布局确保在手机、平板等设备上获得一致浏览体验。查看源码
  • (自适应响应式)APP应用程序软件介绍落地页源码免费下载该模板为营销技术从业者设计,提供专业的内容展示平台。采用响应式布局,适配软件介绍、APP推广等营销场景,通过可视化后台可快速搭建符合行业特性的展示网站。查看源码
  • (自适应响应式)HTML5磁电机械设备蓝色营销型网站pbootcms模板本模板为磁电设备行业设计,采用蓝色营销风格,突出工业设备的专业性和技术感。模板结构清晰,能够有效展示磁电设备的技术参数、应用场景和企业实力,帮助客户快速了解产品特点和公司服务。查看源码
  • (自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐