您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程
ecshop文章排序的实现方法
争赵2024-12-17 11:30:13ecshop商城教程已有人查阅
导读在我们利用ecshop进行商城网站建设的时候常常用到文章,ecshop中的文章功能相对于其他的cms要弱的很多不过以基本满足了网站商城中文章发布的应用,但是ecshop文章的推荐功能只
在我们利用ecshop进行商城网站建设的时候常常用到文章,ecshop中的文章功能相对于其他的cms要弱的很多不过以基本满足了网站商城中文章发布的应用,但是ecshop文章的推荐功能只有普通、置顶功能,这些相对来说对我们平时文章的管理与现实是不够的,今天我们就来做一下ecshop网站商城的文章排序功能。
1、首先在数据库中执行如下语句:
2、打开文章修改的模板
在给ecshoop网站商城中添加字段的时候我通常习惯先做修改模板,因为这样可以省去每次进行添加内容的测试直接修改添加的内容比添加一个要快的多,等修改的功能完成了添加的功能也就很容易了。
我们通过点击文章修改的链接得到:article.php?act=edit&id=52
,我们可以通过这个链接找到我们的修改模板为:article_info.html
在模板中添加一个文本框添加后如下图:
模板添加完成后我们在去对程序进行修改。
3、修改程序文件
当我们点击确定按钮后系统是把数据提交个了article.php页面传递的动作是update,这个从模板中就可以看到。
这个时候我们要修改一下article.php中
if ($_REQUEST['act'] =="update") 这个位置的代码
从程序中看到我们只要修改一下:
我们修改后的代码如下:
4、优化程序
不过我们这样做,如果orderid中没有对他输入内容那么我们点击确定按钮后数据库中就没有内容了,当我们在前台调用的时候,如果要按照
orderid排序就会不准确,这个时候我们可能再加入通过文章id来拍下的条件,为了省去这个步骤,我们可以这样来操作,当我们没有给他输入值的时候他可以存入这个文章的id存入orderid字段中。
我们可以再程序中加入:
5、对添加文章动作进行程序修改
添加动作执行的是
1、首先在数据库中执行如下语句:
ALTER
TABLE `ecs_article` ADD
`orderid` INT NOT NULL
AFTER
`description`
orderid为你所存储的ecshop中的文章排序的字段值。2、打开文章修改的模板
在给ecshoop网站商城中添加字段的时候我通常习惯先做修改模板,因为这样可以省去每次进行添加内容的测试直接修改添加的内容比添加一个要快的多,等修改的功能完成了添加的功能也就很容易了。
我们通过点击文章修改的链接得到:article.php?act=edit&id=52
,我们可以通过这个链接找到我们的修改模板为:article_info.html
在模板中添加一个文本框添加后如下图:
模板添加完成后我们在去对程序进行修改。
3、修改程序文件
当我们点击确定按钮后系统是把数据提交个了article.php页面传递的动作是update,这个从模板中就可以看到。
这个时候我们要修改一下article.php中
if ($_REQUEST['act'] =="update") 这个位置的代码
从程序中看到我们只要修改一下:
if
($exc->edit("title="$_POST[title]", cat_id="$_POST[article_cat]",
article_type="$_POST[article_type]", is_open="$_POST[is_open]",
author="$_POST[author]", author_email="$_POST[author_email]", keywords
="$_POST[keywords]", file_url ="$file_url", open_type="$open_type",
content="$_POST[FCKeditor1]", link="$_POST[link_url]", description =
'$_POST[description]'",
$_POST['id']))
这里边的代码就可以了。我们修改后的代码如下:
if
($exc->edit("orderid="$_POST[orderid]",title="$_POST[title]",
cat_id="$_POST[article_cat]", article_type="$_POST[article_type]",
is_open="$_POST[is_open]", author="$_POST[author]",
author_email="$_POST[author_email]", keywords ="$_POST[keywords]", file_url
="$file_url", open_type="$open_type", content="$_POST[FCKeditor1]",
link="$_POST[link_url]", description = '$_POST[description]'",
$_POST['id']))
这样我们点击确定后数据库中就有值了。4、优化程序
不过我们这样做,如果orderid中没有对他输入内容那么我们点击确定按钮后数据库中就没有内容了,当我们在前台调用的时候,如果要按照
orderid排序就会不准确,这个时候我们可能再加入通过文章id来拍下的条件,为了省去这个步骤,我们可以这样来操作,当我们没有给他输入值的时候他可以存入这个文章的id存入orderid字段中。
我们可以再程序中加入:
if(empty($_POST['orderid'])){
$_POST['orderid'] = $_POST['id'];
}
这样我们的修改语句就完成了。5、对添加文章动作进行程序修改
添加动作执行的是
if
($_REQUEST['act'] == 'insert') 这个个if语句中的内容进行修改,修改部分是:
$add_time = gmtime();
if
(empty($_POST['cat_id']))
{
$_POST['cat_id'] =
0;
}
if
(empty($_POST['orderid']))
{
$_POST['orderid'] = 0;
}
$sql = "INSERT INTO
".$ecs->table('article')."(orderid,title, cat_id,
article_type, is_open, author,
".
"author_email, keywords, content, add_time, file_url, open_type, link,
description)
".
"VALUES
('$_POST[orderid]','$_POST[title]',
'$_POST[article_cat]', '$_POST[article_type]', '$_POST[is_open]',
".
"'$_POST[author]', '$_POST[author_email]', '$_POST[keywords]',
'$_POST[FCKeditor1]',
".
"'$add_time', '$file_url', '$open_type', '$_POST[link_url]',
'$_POST[description]')";
为了让orderid中没有值的时候插入文章的id可以加入一下的语句:
$article_id = $db->insert_id();
$sql =
"UPDATE " . $ecs->table('article') . " SET orderid = '$article_id' WHERE
article_id = $article_id";
$db->query($sql);
本文标签:
很赞哦! ()
上一篇:ecshop老版本安全漏洞
下一篇:返回列表
相关文章
随机图文
-
ecshop首页今日特价促销商品怎么增加倒计时效果
看到不少朋友在找首页特价商品倒计时的修改方法,写了这篇文章希望能帮到有此需要的朋友们1、首先修改程序部分 -
ecshop帮助中心文章显示数量限制的修改方法
教你一个“在ECSHOP帮助中心限制文章显示条数”的方法,例如只显示每个小类的前5篇文章。为了照顾大多数站长,本教程倾向于在模板里修改实现。 -
ecshop结算页购物车提交订单页面显示商品缩略图的方法
ECSHOP系统,在购物车页面,是可以显示商品缩略图的,但是ECSHOP在订单提交的页面却不支持显示缩略图,好在ECSHOP是开源的,通过以下方法可以实现 -
ecshop文章列表页调用文章描述信息的方法
注意:这里所说的描述信息,指的是在ECSHOP后台发布文章时,填写的那个“网页描述”信息。
留言与评论 (共有 条评论) |