帝国cms可以批量修改数据模型中的值吗

 我来答
受司大人
推荐于2016-03-23 · 知道合伙人影视综艺行家
受司大人
知道合伙人影视综艺行家
采纳数:20262 获赞数:171846
毕业于浙江广厦,有一定的电脑专业基础和两年工作经验,读过相关书籍多本

向TA提问 私信TA
展开全部
用帝国做的商城系统,上传了很多产品图片,后来要求把缩略图改小,很伤脑筋,结果找到上面的帖子,但怎么搞也不行,可能那不是针对6.0.所有自己加以修改终于成功!!!
以下为修改方法:
一、首先,在t_functions.php中添加一下两个函数
1.function Titlepic_all ($id, $classid, $userid, $username, $pwidth, $pheight)
2. {
3. global $empire,$class_r,$class_zr,$dbtbpre,$keys;
4. $count = count ($id);
5. if (!$count)
6. {
7. printerror ('Noteditpic', 'history.go(-1)');
8. }
9. for ($i = 0; ($i < $count); ++$i)
10. {
11. $r = $empire->fetch1 ('select * from phome_ecms_'.$class_r[$classid][tbname].' where id='.$id[$i].' and titlepic<>""');
12. if(!emptyempty($r[id])){
13. ImageResize("../../".$r[titlepic],$pwidth,$pheight,"../../".$r[titlepic]);
14.
15. }
16. }
17.printerror ('TitlepicAllSuccess', $_SERVER['HTTP_REFERER']);
18. }
19.Function ImageResize($srcFile,$toW,$toH,$toFile="")
20.{
21. global $keys;
22. if($toFile==""){ $toFile = substr($srcFile,0,-4)."small".substr($srcFile,-4); }
23. $info = "";
24. $data = GetImageSize($srcFile,$info);
25. switch ($data[2])
26. {
27. case 1:
28. if(!function_exists("imagecreatefromgif")){
29. echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式
30.
31.!<a href='<font>javascript:</font>go(-1);'>返回</a>";
32. exit();
33. }
34. $im = ImageCreateFromGIF($srcFile);
35. break;
36. case 2:
37. if(!function_exists("imagecreatefromjpeg")){
38. Echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图
39.
40.片!<a href='<font>javascript:</font>go(-1);'>返回</a>";
41. Exit();
42. }
43. $im = ImageCreateFromJpeg($srcFile);
44. break;
45. case 3:
46. $im = ImageCreateFromPNG($srcFile);
47. break;
48.}
49.$srcW = ImageSX($im);
50.$srcH = ImageSY($im);
51.$keys= 0;
52.if (($srcW>$toW) or ($srH>$toH)){
53.if(($srcW/$toW)>=($srcH/$toH)){
54. $temp_height=$toH;
55. $temp_width=$srcW/($srcH/$toH);
56. $src_X=Abs(($toW-$temp_width)/2);
57. $src_Y=0;
58. }
59. else{
60. $temp_width=$toW;
61. $temp_height=$srcH/($srcW/$toW);
62. $src_X=0;
63. $src_Y=Abs(($toH-$temp_height)/2);
64. }
65. $temp_img=ImageCreateTrueColor($temp_width,$temp_height);
66. imagecopyResampled($temp_img,$im,0,0,0,0,$temp_width,$temp_height,$srcW,$srcH);
67. $ni=ImageCreateTrueColor($toW,$toH);
68. imagecopyResampled($ni,$temp_img,0,0,$src_X,$src_Y,$toW,$toH,$toW,$toH);
69.
70.if(Function_exists('imagejpeg')) ImageJpeg($ni,$toFile);
71. else ImagePNG($ni,$toFile);
72. ImageDestroy($ni);
73.$keys= 1;
74.}
75.ImageDestroy($im);
76.}

二、修改 e/admin/ListNews.php{还有个页面:e/admin/ListAllInfo.php},大约在最后几行“选中全部 </td></tr>”的后面添加以下代码:
<tr bgcolor="#FFFFFF">
<td height="25" colspan="8"><div align="right">
缩略图宽: <input name="pwidth" type="text" value="120" width="60">
缩略图高: <input name="pheight" type="text" value="120" width="60">
<input type="submit" name="Submit355" value="修改缩略图" onClick="document.listform.enews.value='Titlepic_all';">
</div></td></tr>
其中,图宽和图稿的默认值可按自己的情况设定,设定好后,以后操作更方便。
三、在e/admin/ecmsinfo.php中添加如下代码:
//批量加标题图片
elseif($enews=="Titlepic_all")
{
$id=$_POST['id'];
$classid=$_POST['classid'];
$bclassid=$_POST['bclassid'];
$pwidth=$_POST['pwidth'];
$pheight=$_POST['pheight'];
Titlepic_all($id,$classid,$logininid,$loginin,$pwidth,$pheight);
}
四、函数中用到“ printerror ('Noteditpic', 'history.go(-1)');”等操作提示,这个提示可加在e/data/language/gb/pub/message.php;当然这一步不加也不影响操作
在message.php 后面加:

'Noteditpic'=>'没有选择!',
'TitlepicAllSuccess'=>'操作成功!',
万山数据
2024-11-14 广告
实时数据仓库是北京万山数据科技有限公司重要的数据处理与存储解决方案。它专注于实时或近实时地捕获、存储和管理数据流,确保数据的高时效性和准确性。通过先进的数据处理技术和高效的存储架构,实时数据仓库能够支持复杂的数据分析需求,为企业决策提供即时... 点击进入详情页
本回答由万山数据提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式