修改ecshop网站后台,实现文章内容可以按会员等级分配阅读权限,需要向数据库表ecs_article中,增加user_rank字段,类型为varchar型即可。
一、需要修改的文件:
1、后台目录下一般为:admin//article.php,这是数据处理程序文件
2、后台目录下:admin/templets/article_info.htm这是后台添加文档时的模板显示文件
3、文章访问时,前台显示页面:即网站根目录下article.php文件
4、文章访问前台的模板文件:根目录下/themes/default/article.dwt文件
以上总共4个文件,都需要做相应的修改。
二、每个文件中需要修改的内容:
1、article.php文件中:
在文件最后,添加获取用户等级函数:get_rank_list_wxch(),代码如下:
function get_rank_list_wxch()
{
$sql = "SELECT * FROM " . $GLOBALS['ecs']->table('user_rank') .
" ORDER BY min_points";
return $GLOBALS['db']->getAll($sql);
}
函数文件名称可以自行定义,也就是get_rank_list_wxch(),表示函数名称。在article.php这个文件中,分别有添加与编辑文档两处备注,
我们需要使用get_rank_list_wxch()这个函数,将系统中所有用户等级读取出来,并传值给模板文件,代码是
$smarty->assign('user_ranks', get_rank_list_wxch());
将以上代码,分别复制到编辑与添加相应位置中,目的是为了在添加文档及编辑文档时都将系统中的用户级别读取出来
在添加文章时,将用户等级保存到数据库即在
函数文件名称可以自行定义,也就是get_rank_list_wxch(),表示函数名称。在article.php这个文件中,分别有添加与编辑文档两处备注,
我们需要使用get_rank_list_wxch()这个函数,将系统中所有用户等级读取出来,并传值给模板文件,代码是
$smarty->assign('user_ranks', get_rank_list_wxch());
将以上代码,分别复制到编辑与添加相应位置中,目的是为了在添加文档及编辑文档时都将系统中的用户级别读取出来
在添加文章时,将用户等级保存到数据库即在
/*------------------------------------------------------ */
//-- 添加文章
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'insert')这个判断中,有一个sql语句:
$sql = "INSERT INTO ".$ecs->table('article')."(title, cat_id, article_type, is_open, author, ".
"author_email, keywords, co