最新公告
  • 欢迎您光临329687站长资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 百度百科都看过,一个词条可以创建许多个小标题分类。利用帝国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+&#039;<tr><tdalign="center"valign="top"><inputclass="p2"type="text"name="p_ctnr_1[]"id="p_ctnr_1_&#039;+j+&#039;"value=""class="p2"size="60"></td><tdalign="center"><textareaname="p_ctnr_2[]"id="p_ctnr_2_&#039;+j+&#039;"rows="12"cols="80"></textarea></td></tr>&#039;;
    }
    document.getElementById("mvadd_p_ctnr").innerHTML="<tablewidth=&#039;100%&#039;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=&#039;100%&#039;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[&#039;p_ctnr&#039;])
    {
    $r[&#039;p_ctnr&#039;]=stripSlashes($r[&#039;p_ctnr&#039;]);
    ?>
    <tablewidth=&#039;100%&#039;border=0cellspacing=1cellpadding=3>
    <?php
    //录入项
    $j=0;
    $mvf_record=explode(&#039;||||||&#039;,$r[&#039;p_ctnr&#039;]);
    $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(&#039;||||||&#039;,$navinfor[p_ctnr]);
    $mfcount=count($morefr);
    for($mfi=0;$mfi<$mfcount;$mfi++)
    {
    $morefrf=explode(&#039;::::::&#039;,$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?&#039;fb&#039;:&#039;&#039;;?>"><?=$morefrf[0]?></a></li><?php
    }
    ?>																																																												</ol>
    
    <?php
    $morefr=explode(&#039;||||||&#039;,$navinfor[p_ctnr]);
    $mfcount=count($morefr);
    for($mfi=0;$mfi<$mfcount;$mfi++)
    {
    $morefrf=explode(&#039;::::::&#039;,$morefr[$mfi]);
    ?>
    <liclass="gray8line26jies">
    <dtclass="title"data-slide="<?=$mfi+1?>"><span><?=$morefrf[0]?></span></dt>
    <ddclass="newstext"><?=$morefrf[1]?>
    </dd>
    </li>
    <?php
    }
    ?>

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

    二次开发一个百度百科词条系统

    可以自由添加词条数量,也可以删除,这样维护起来是不是就方便些了。


    329站长网 » 二次开发一个百度百科词条系统

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    329687站长资源网
    一个专注于各种网站源码、程序模板、技术教程分享的站长资源下载平台
    • 5会员总数(位)
    • 2098资源总数(个)
    • 117本周发布(个)
    • 0 今日发布(个)
    • 212稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情