百度百科都看过,一个词条能够创立许多个小标题分类。使用帝国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