百度百科都看过,一个词条能够创立许多个小标题分类。使用帝国CMS来做的话,最简略的办法便是自己再编辑器里边分阶段,然后使用CSS来到达词条的作用。可是不使用后期修正,假如词条太多,内容太长不便利保护。还有一种办法便是使用帝国CMS的多值字段了,这个也不难,照着官方的代码略微改改就能完成百度百科的作用了。

首要咱们需求增加一个百科的多值字段。

字段名:ct

字段标识:词条

类型:中型

输入表单显现元素:多值字段

大约的输入表单替换html代码如下面这样。

functiondomvadd_p_ctnr()
{
vari;
varstr='';
varoldi=0;
varj=0;
varaddnum=0;
addnum=parseInt(document.add.mvaddnum_p_ctnr.value);
oldi=parseInt(document.add.mveditnum_p_ctnr.value);
for(i=1;i<=addnum;i++)
{
j=i+oldi;
str=str+'<tr><tdalign="center"valign="top"><inputclass="p2"type="text"name="p_ctnr_1[]"id="p_ctnr_1_'+j+'"value=""class="p2"size="60"></td><tdalign="center"><textareaname="p_ctnr_2[]"id="p_ctnr_2_'+j+'"rows="12"cols="80"></textarea></td></tr>';
}
document.getElementById("mvadd_p_ctnr").innerHTML="<tablewidth='100%'border=0cellspacing=1cellpadding=3>"+str+"</table>";
}
</script>
<tablewidth="100%"border="0"cellspacing="0"cellpadding="0">
<tr>
<td>
<tablewidth="100%"border="0"cellpadding="3"cellspacing="1"bgcolor="#DBEAF5">
<tr><tdalign="center">标题</td><tdalign="center">分段内容</td></tr>
</table>
</td>
</tr>
<tr>
<td>
<?php
if($ecmsfirstpost==1)
{
?>
<tablewidth='100%'border=0cellspacing=1cellpadding=3>
<?php
$editnum=3;
for($i=1;$i<=$editnum;$i++)
{
?>
<tr>
<tdalign="center"valign="top"><inputtype="text"name="p_ctnr_1[]2"id="p_ctnr_1_<?=$i?>"value=""class="p2"size="60"/></td>
<tdalign="center">
<textareaname="p_ctnr_2[]"id="p_ctnr_2_<?=$i?>"rows="12"cols="80"></textarea></td></tr>
<?php
}
?>
</table>
<?php
}
else
{
$editnum=0;
if($r['p_ctnr'])
{
$r['p_ctnr']=stripSlashes($r['p_ctnr']);
?>
<tablewidth='100%'border=0cellspacing=1cellpadding=3>
<?php
//录入项
$j=0;
$mvf_record=explode('||||||',$r['p_ctnr']);
$mvf_count=count($mvf_record);
for($i=0;$i<$mvf_count;$i++)
{
$j=$i+1;
$mvf_field=explode("::::::",$mvf_record[$i]);
?>
<tr><tdalign="center"valign="top"><inputtype="text"name="p_ctnr_1[]"id="p_ctnr_1_<?=$j?>"value="<?=$mvf_field[0]?>"class="p2"size="60"><inputtype="hidden"name="p_ctnr_mvid[]"id="p_ctnr_mvid_<?=$j?>"value="<?=$j?>"><inputtype="checkbox"name="p_ctnr_mvdelid[]"id="p_ctnr_mvdelid_<?=$j?>"value="<?=$j?>">删</td><tdalign="center"><textareaname="p_ctnr_2[]"id="p_ctnr_2_<?=$j?>"rows="12"cols="80"><?=$mvf_field[1]?></textarea></td></tr>
<?php
}
?>
</table>
<?php
$editnum=$j;
}
}
?>
</td>
</tr>
<tr>
<tdheight="25">扩展数量:<inputname="mveditnum_p_ctnr"type="hidden"id="mveditnum_p_ctnr"value="<?=$editnum?>">
<inputname="mvnum_p_ctnr"type="hidden"id="mvnum_p_ctnr"value="2">
<inputname="mvmust_p_ctnr"type="hidden"id="mvmust_p_ctnr"value="1">
<inputname="mvaddnum_p_ctnr"type="text"id="mvaddnum_p_ctnr"value="1"size="6"><inputtype="button"name="Submit5"value="输出"onclick="javascript:domvadd_p_ctnr();"></td>
</tr>
<tr>
<tdid="mvadd_p_ctnr"></td>
</tr>
</table>

了解帝国CMS的增加字段咱们都会,首要是前台调用有点难。帝国CMS论坛找了一段,循环分隔多值字段的代码,稍加修正。

<?php
$morefr=explode('||||||',$navinfor[p_ctnr]);
$mfcount=count($morefr);
for($mfi=0;$mfi<$mfcount;$mfi++)
{
$morefrf=explode('::::::',$morefr[$mfi]);
?><liclass="font16line36"><span><?=$mfi+1?>.</span><atitle="<?=$morefrf[0]?>"data-slide="<?=$mfi+1?>"onClick="gotofloor(this);"href="javascript:void(0);"class="<?echo$mfi==0?'fb':'';?>"><?=$morefrf[0]?></a></li><?php
}
?>																																																												</ol>

<?php
$morefr=explode('||||||',$navinfor[p_ctnr]);
$mfcount=count($morefr);
for($mfi=0;$mfi<$mfcount;$mfi++)
{
$morefrf=explode('::::::',$morefr[$mfi]);
?>
<liclass="gray8line26jies">
<dtclass="title"data-slide="<?=$mfi+1?>"><span><?=$morefrf[0]?></span></dt>
<ddclass="newstext"><?=$morefrf[1]?>
</dd>
</li>
<?php
}
?>

上面一段为调用的目录,下面的一段循环调用的词条标题和内容。前台的款式咱们自行修正,咱们首要看看后台是什么样的。

能够自在增加词条数量,也能够删去,这样保护起来是不是就便利些了。

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!

原文地址:二次开发一个百度百科词条系统发布于2022-06-28 07:44:01

相关推荐