百度百科都看過,一個詞條可以創建許多個小標題分類。利用帝國CMS來做的話,最簡單的方法就是自己再編輯器里面分段落,然后利用CSS來達到詞條的效果。但是不利用后期修改,如果詞條太多,內容太長不方便維護。還有一種方法就是利用帝國CMS的多值字段了,這個也不難,照著官方的代碼稍微改改就能實現百度百科的效果了。
首先我們需要添加一個百科的多值字段。
字段名:ct
字段標識:詞條
類型:中型
輸入表單顯示元素:多值字段
大概的輸入表單替換html代碼如下面這樣。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | function domvadd_p_ctnr(){var i;var str='';var oldi=0;var j=0;var addnum=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><td align="center" valign="top"><input class="p2" type="text" name="p_ctnr_1[]" id="p_ctnr_1_'+j+'" value="" class="p2" size="60"></td><td align="center"><textarea name="p_ctnr_2[]" id="p_ctnr_2_'+j+'" rows="12" cols="80"></textarea></td></tr>';}document.getElementById("mvadd_p_ctnr").innerHTML="<table width='100%' border=0 cellspacing=1 cellpadding=3>"+str+"</table>";}</script><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#DBEAF5"> <tr><td align="center">標題</td><td align="center">分段內容</td></tr> </table></td> </tr> <tr> <td> <?php if($ecmsfirstpost==1) { ?><table width='100%' border=0 cellspacing=1 cellpadding=3><?php$editnum=3;for($i=1;$i<=$editnum;$i++){?><tr> <td align="center" valign="top"><input type="text" name="p_ctnr_1[]2" id="p_ctnr_1_<?=$i?>" value="" class="p2" size="60"/></td> <td align="center"><textarea name="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']);?><table width='100%' border=0 cellspacing=1 cellpadding=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><td align="center" valign="top"><input type="text" name="p_ctnr_1[]" id="p_ctnr_1_<?=$j?>" value="<?=$mvf_field[0]?>" class="p2" size="60"> <input type="hidden" name="p_ctnr_mvid[]" id="p_ctnr_mvid_<?=$j?>" value="<?=$j?>"><input type="checkbox" name="p_ctnr_mvdelid[]" id="p_ctnr_mvdelid_<?=$j?>" value="<?=$j?>">刪</td><td align="center"><textarea name="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> <td height="25">擴展數量: <input name="mveditnum_p_ctnr" type="hidden" id="mveditnum_p_ctnr" value="<?=$editnum?>"> <input name="mvnum_p_ctnr" type="hidden" id="mvnum_p_ctnr" value="2"> <input name="mvmust_p_ctnr" type="hidden" id="mvmust_p_ctnr" value="1"> <input name="mvaddnum_p_ctnr" type="text" id="mvaddnum_p_ctnr" value="1" size="6"> <input type="button" name="Submit5" value="輸出" onclick="javascript:domvadd_p_ctnr();"></td> </tr> <tr> <td id="mvadd_p_ctnr"></td> </tr></table> |
熟悉帝國CMS的添加字段大家都會,主要是前臺調用有點難。帝國CMS論壇找了一段,循環分隔多值字段的代碼,稍加修改。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php$morefr=explode('||||||',$navinfor[p_ctnr]);$mfcount=count($morefr);for($mfi=0;$mfi<$mfcount;$mfi++){$morefrf=explode('::::::',$morefr[$mfi]);?><li class="font16 line36"><span><?=$mfi+1?>.</span><a title="<?=$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]);?><li class="gray8 line26 jies"> <dt class="title" data-slide="<?=$mfi+1?>"><span><?=$morefrf[0]?></span></dt> <dd class="newstext"><?=$morefrf[1]?> </dd> </li><?php}?> |
上面一段為調用的目錄,下面的一段循環調用的詞條標題和內容。前臺的樣式大家自行修改,我們主要看看后臺是什么樣的。

可以自由添加詞條數量,也可以刪除,這樣維護起來是不是就方便些了。
新聞熱點
疑難解答