帝國cms模型修改添加多個圖集字段
2024-08-28 12:25:42
供稿:網友
因為 最近做站一個模型里有兩個字段均為圖集形式的,帝國雖然有圖集模塊,但不能實現多個字段是圖集,所以稍微改造了一下 下面效果圖
1.首先按正常步驟,在對應模型里加上相應字段 這里我習慣遵從原來圖集系統起名 mobanpic, 管理字段-》修改 -》輸入表單替換html代碼 將我下面這段代碼復制進去
注意下面代碼中 把"moban"字段替換成自己對應的名稱,我這里字段名為mobanpic
<script>
function domobanpicadd()
{var i;
var str="";
var oldi=0;
var j=0;
oldi=parseInt(document.add.mobanpicnum.value);
for(i=1;i<=document.add.downmobanpicnum.value;i++)
{
j=i+oldi;
str=str+"<tr><td width=7%><div align=center>"+j+"</div></td><td width=33%><div align=center><input name=msmallmobanpic[] type=text size=28 id=msmallmobanpic"+j+" ondblclick=SpOpenChFile(1,'msmallmobanpic"+j+"')><br><input type=file name=msmallmobanpfile[] size=15></div></td><td width=30%><div align=center><input name=mbigmobanpic[] type=text size=28 id=mbigmobanpic"+j+" ondblclick=SpOpenChFile(1,'mbigmobanpic"+j+"')><br><input type=file name=mbigmobanpfile[] size=15></div></td><td width=30%><div align=center><input name=mmobanpicname[] type=text></div></td></tr>";
}
document.getElementById("addmobanpicdown").innerHTML="<table width='100%' border=0 cellspacing=1 cellpadding=3>"+str+"</table>";
}
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25">
圖片地址前綴:
<input name="mmobanpicurl_qz" type="text" id="mmobanpicurl_qz">
<input type="checkbox" name="msavemobanpic" value="1">遠程保存 <input type="checkbox" name="mcreatesmobanpic" value="1" onclick="if(this.checked){setmcreatesmobanpic.style.display='';}else{setmcreatesmobanpic.style.display='none';}">生成縮圖
<span id="setmcreatesmobanpic" "display:none">:<input type=text name="mcreatesmobanpicwidth" size=4 value="<?=$public_r[spicwidth]?>">*<input type=text name="mcreatespicheight" size=4 value="<?=$public_r[spicheight]?>">(寬*高)</span>
<?php
if(TranmoreIsOpen())
{
?>
<input type="button" name="Submit" value="多選上傳" onclick="window.open('ecmseditor/tranmore/tranmore.php?type=1&classid=<?=$classid?>&filepass=<?=$filepass?>&infoid=<?=$id?>&modtype=0&sinfo=1&ecmsdo=ecmstmmobanpic&tranfrom=2<?=$ecms_hashur['ehref']?>&oldmobanpicnum='+document.add.mobanpicnum.value,'ecmstmpage','width=700,height=550,scrollbars=yes');">
<?php
}
?>
</td>
</tr>
<tr>
<td><table width="100%" border=0 align=center cellpadding=3 cellspacing=1>
<tr bgcolor="#DBEAF5">
<td width="7%"><div align=center>編號</div></td>
<td width="33%"><div align=center>縮圖 <font color="#666666">(雙擊選擇)</font></div></td>
<td width="30%"><div align=center>大圖 <font color="#666666">(雙擊選擇)</font></div></td>
<td width="30%"><div align=center>圖片說明</div></td>
</tr>
</table></td>
</tr>
<tr>
<td id=defmobanpicid>
<?php
if($ecmsfirstpost==1)
{
?>
<table width='100%' border=0 align=center cellpadding=3 cellspacing=1>
<?php
$mobanpicnum=3;
for($mppathi=1;$mppathi<=$mobanpicnum;$mppathi++)
{
?>
<tr>
<td width='7%'><div align=center><?=$mppathi?></div></td>
<td width='33%'><div align=center>
<input name=msmallmobanpic[] type=text id='msmallmobanpic<?=$mppathi?>' size=28 ondblclick="SpOpenChFile(1,'msmallmobanpic<?=$mppathi?>');">
<br><input type=file name=msmallmobanpfile[] size=15>
</div></td>
<td width='30%'><div align=center>
<input name=mbigmobanpic[] type=text id='mbigmobanpic<?=$mppathi?>' size=28 ondblclick="SpOpenChFile(1,'mbigmobanpic<?=$mppathi?>');">
<br><input type=file name=mbigmobanpfile[] size=15>
</div></td>
<td width='30%'><div align=center>
<input name=mmobanpicname[] type=text id='mmobanpicname<?=$mppathi?>'>
</div></td>
</tr>
<?php
}
?>
</table>
<?php
}
else
{
$mobanpicpath="";
$mobanpicnum=0;
if($r[mobanpic])
{
$r[mobanpic]=stripSlashes($r[mobanpic]);
//地址
$j=0;
$pd_record=explode("/r/n",$r[mobanpic]);
for($i=0;$i<count($pd_record);$i++)
{
$j=$i+1;
$pd_field=explode("::::::",$pd_record[$i]);
$mobanpicpath.="<tr>
<td width='7%'><div align=center>".$j."</div></td>
<td width='33%'><div align=center>
<input name=msmallmobanpic[] type=text value='".$pd_field[0]."' size=28 id=msmallmobanpic".$j." ondblclick=/"SpOpenChFile(1,'msmallmobanpic".$j."');/">
<br><input type=file name=msmallmobanpfile[] size=15>
</div></td>
<td width='30%'><div align=center>
<input name=mbigmobanpic[] type=text value='".$pd_field[1]."' size=28 id=mbigmobanpic".$j." ondblclick=/"SpOpenChFile(1,'mbigmobanpic".$j."');/">
<br><input type=file name=mbigmobanpfile[] size=15>
</div></td>
<td width='30%'><div align=center>
<input name=mmobanpicname[] type=text value='".$pd_field[2]."'><input type=hidden name=mmobanpicid[] value=".$j."><input type=checkbox name=mdelmobanpicid[] value=".$j.">刪
</div></td>
</tr>";
}
$mobanpicnum=$j;
$mobanpicpath="<table width='100%' border=0 cellspacing=1 cellpadding=3>".$mobanpicpath."</table>";
}
echo $mobanpicpath;
}
?>
</td>
</tr>
<tr>
<td height="25">地址擴展數量: <input name="mobanpicnum" type="hidden" id="mobanpicnum" value="<?=$mobanpicnum?>">
<input name="downmobanpicnum" type="text" value="1" size="6"> <input type="button" name="Submit5" value="輸出地址" onclick="javascript:domobanpicadd();"></td>
</tr>
<tr>
<td id=addmobanpicdown></td>
</tr>
</table>
將下面代碼復制進 投稿表單替換html代碼 和上面的處理方法一樣
<script>
function domobanpicadd()
{var i;
var str="";
var oldi=0;
var j=0;
oldi=parseInt(document.add.mobanpicnum.value);
for(i=1;i<=document.add.downmobanpicnum.value;i++)
{
j=i+oldi;
str=str+"<tr><td width=7%><div align=center>"+j+"</div></td><td width=33%><div align=center><input name=msmallmobanpic[] type=text size=28 id=msmallmobanpic"+j+"></div></td><td width=30%><div align=center><input name=mbigmobanpic[] type=text size=28 id=mbigmobanpic"+j+"></div></td><td width=30%><div align=center><input name=mmobanpicname[] type=text></div></td></tr>";
}
document.getElementById("addmobanpicdown").innerHTML="<table width='100%' border=0 cellspacing=1 cellpadding=3>"+str+"</table>";
}
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25">
圖片地址前綴:
<input name="mmobanpicurl_qz" type="text" id="mmobanpicurl_qz" size="32">
</td>
</tr>
<tr>
<td><table width=100% border=0 align=center cellpadding=3 cellspacing=1>
<tr bgcolor='#DBEAF5'>
<td width=7%><div align=center>編號</div></td>
<td width=33%><div align=center>縮圖</div></td>
<td width=30%><div align=center>大圖</div></td>
<td width=30%><div align=center>圖片說明</div></td>
</tr>
</table></td>
</tr>
<tr>
<td id=defmobanpicid>
<?php
if($ecmsfirstpost==1)
{
?>
<table width='100%' border=0 align=center cellpadding=3 cellspacing=1>
<?php
$mobanpicnum=3;
for($mppathi=1;$mppathi<=$mobanpicnum;$mppathi++)
{
?>
<tr>
<td width='7%'><div align=center><?=$mppathi?></div></td>
<td width='33%'><div align=center>
<input name=msmallmobanpic[] type=text id=msmallmobanpic[] size=28>
</div></td>
<td width='30%'><div align=center>
<input name=mbigmobanpic[] type=text id=mbigmobanpic[] size=28>
</div></td>
<td width='30%'><div align=center>
<input name=mmobanpicname[] type=text id=mmobanpicname[]>
</div></td>
</tr>
<?php
}
?>
</table>
<?php
}
else
{
$mobanpicpath="";
$mobanpicnum=0;
if($r[mobanpic])
{
$r[mobanpic]=stripSlashes($r[mobanpic]);
//地址
$j=0;
$pd_record=explode("/r/n",$r[mobanpic]);
for($i=0;$i<count($pd_record);$i++)
{
$j=$i+1;
$pd_field=explode("::::::",$pd_record[$i]);
$mobanpicpath.="<tr>
<td width='7%'><div align=center>".$j."</div></td>
<td width='33%'><div align=center>
<input name=msmallmobanpic[] type=text value='".$pd_field[0]."' size=28>
</div></td>
<td width='30%'><div align=center>
<input name=mbigmobanpic[] type=text value='".$pd_field[1]."' size=28>
</div></td>
<td width='30%'><div align=center>
<input name=mmobanpicname[] type=text value='".$pd_field[2]."'><input type=hidden name=mmobanpicid[] value=".$j."><input type=checkbox name=mdelmobanpicid[] value=".$j.">刪
</div></td></tr>";
}
$mobanpicnum=$j;
$mobanpicpath="<table width='100%' border=0 cellspacing=1 cellpadding=3>".$mobanpicpath."</table>";
}
echo $mobanpicpath;
}
?>
</td>
</tr>
<tr>
<td height="25">地址擴展數量: <input name="mobanpicnum" type="hidden" id="mobanpicnum" value="<?=$mobanpicnum?>">
<input name="downmobanpicnum" type="text" value="1" size="6"> <input type="button" name="Submit5" value="輸出地址" onclick="javascript:domobanpicadd();"></td>
</tr>
<tr>
<td id=addmobanpicdown></td>
</tr>
</table>
2. 找到e/class/functions.php 在function ReturnAddF
函數中,morepic 流程后插入如下代碼 有兩個地方需要插入,自行查找
elseif($f=='mobanpic'){
$add_temp = [
'msmallpic' => $add['msmallmobanpic'],
'mbigpic' => $add['mbigmobanpic'],
'mpicname' => $add['mmobanpicname'],
'mdelpicid' => $add['mdelmobanpicid'],
'mpicid' => $add['mmobanpicid'],
'mpicurl_qz'=> $add['mmobanpicurl_qz'],
'msavepic' => $add['msavemobanpic'],
'mcreatespic'=> $add['mcreatesmobanpic'],
'msmallpfile'=> $add['msmallmobanpfile'],
'mbigpfile'=> $add['mbigmobanpfile'],
];
//設置_FIELS
$_FILES['msmallpfile'] = $_FILES['msmallmobanpfile'];
$_FILES['mbigpfile'] = $_FILES['mbigmobanpfile'];
$add = array_merge($add,$add_temp);
$value=ReturnMorepicpath($add['msmallpic'],$add['mbigpic'],$add['mpicname'],$add['mdelpicid'],$add['mpicid'],$add,$add['mpicurl_qz'],1,0,intval($add['fstb']));
}
到此為此就可以插入多圖集了,如上面再來一遍可以添加多個圖集字段