欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

帝国cms教程

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

帝国cms教程 我的站长站 2019-06-20 共239人阅读

百度百科都看过,一个词条可以创建许多个小标题分类。利用帝国CMS来做的话,最简单的方法就是自己再编辑器里面分段落,然后利用CSS来达到词条的效果。但是不利用后期修改,如果词条太多,内容太长不方便维护。还有一种方法就是利用帝国CMS的多值字段了,这个也不难,照着官方的代码稍微改改就能实现百度百科的效果了。

首先我们需要添加一个百科的多值字段。

字段名:ct

字段标识:词条

类型:中型

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

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

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论坛找了一段,循环分隔多值字段的代码,稍加修改。

<?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
}
?>

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

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

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

相关推荐
  • 帝国cms二次开发
  • 帝国CMS调用方法
  • 帝国CMS二次开发统计留言数量

    帝国CMS指定模型下的留言数量 代码:<?php$totalnum=(int)$_GET['totalnum']; $totalquery="select count(*) as total from ***_enewsgbook where bid=1 and chec

    帝国cms教程 251 11年前
  • 帝国cms二次开发怎样实现时间为:几小时前、几天前等格式

    放到:userfun.php <?ph ?>之间

    帝国cms教程 542 8年前
  • 帝国CMS二次开发解决内容关键字替换图片ALT办法

    对于帝国CMS的内容管理程序,个人站长朋友是没有什么说的了,安全又稳定,但再美好的东西也会有一点缺陷,对于内容关键字 图片ALT被替换实属让个人站长头疼的,最近在论坛上面找到了解决的办法,这样我们就可以解决这样的烦心事了! 这个办法是对KissVenus发的解...

    帝国cms教程 532 7年前
  • 帝国CMS二次开发织梦CMS数据转帝国CMS教程

    织梦CMS和帝国CMS哪种好?织梦dedecms是目前CMS开源系统中使用人数最多的CMS系统了,凭借着后台使用简单、模板制作也简单,网上模板素材、教程也非常多,受到大家的追捧。但用过织梦CMS都知道,织梦CMS有两个致命缺点:(1)织梦安全性差漏洞多,经常被黑客攻击,虽然官...

    帝国cms教程 545 6年前
  • 帝国CMS二次开发不开后台定时刷新脚本

    在你的操作系统,如果是linux的话,添加以下计划任务。 * * * * * /usr/bin/php /webrootpath/e/tasks/backend_cronjob.php。把代码传到 /e/tasks/ 下。 这个脚本将替代后台的定时刷新,你不用在开着后台了,它帮你定时刷新。适用场景:全战静态化,需要定时刷...

    帝国cms教程 386 7年前
  • 帝国CMS调用栏目自定义字段方法

    帝国CMS调用栏目自定义字段方法说明:封面模板,列表模板,内容模板都可以用,且调用方式都是一样的调用标签:<?=ReturnClassAddField(0,&#39;自定义字段&#39;)?>调用多个:<?=$value=ReturnClassAddField(1,&#39;自定义字段1,自定义字段2&#39;)?>取值:<?=$val...

    帝国cms教程 157 4年前
  • 帝国CMS新手教程调用栏目别名

    帝国CMS调用网站标题灵动标签调用网站标题:<?=$public_r[sitename]?> 帝国CMS标签调用网站标题:[!--pagetitle--] 帝国CMS调用栏目别名: <?=$class_r[$GLOBALS[navclas

    帝国cms教程 275 11年前
  • 帝国CMS调用网站标题的方法

    帝国CMS_调用网站标题的方法方法1: [!--pagetitle--]方法2:<?=$public_r[sitename]?>

    帝国cms教程 379 11年前
  • 帝国CMS灵动标签调用反馈信息

    语法:[e:loop={'select * from XX_enewsfeedback order by bid desc limit 10',8,24,0}]<li><a><?=$bqr[pinpai]?><?=$bqr[chexin]?></a><a><?=$bqr[title]?></a> (<?=fo

    帝国cms教程 243 11年前
  • 帝国CMS调用今日下载本月下载本周下载排行方法
    帝国CMS调用今日下载本月下载本周下载排行方法

    实现方法:第一步在数据表里添加三个字段:DayHits WeekHits MonthHits 分别设为字段类型为INT第二步打开文件:/e/public/ViewClick/index.php(//digg踩数后面添加如下代码...

    帝国cms教程 619 11年前