您现在的位置是:首页 > 教程 > 帝国CMS教程帝国CMS教程
帝国CMS怎么实现一个类似百度百科的词条系统
张广房2023-05-31 18:47:11帝国CMS教程已有人查阅
导读百度百科都看过,一个词条可以创建许多个小标题分类。利用帝国CMS来做的话,最简单的方法就是自己再编辑器里面分段落,然后利用CSS来达到词条的效果。
百度百科都看过,一个词条可以创建许多个小标题分类。利用帝国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自定义字段ReturnClassAddField标签截取字数的方法
- 自定义函数解决帝国cms简介截取字符出现html代码的方法
- 本地环境phpStudy搭建帝国CMS的方法
- 帝国cms提示Table 'px.***_enewspubtemp_2' doesn't exist的解决方法
- 帝国cms通过栏目ID获取栏目名称,别名,链接的方法
- 帝国CMS二次开发新浪iplookup根据ip跳转到不同域名的方法
- 帝国CMS怎么实现内容关键字替换图片alt的办法
- 帝国CMS怎么使用egetip()获取用户IP函数
- 帝国cms二次开发实现纯JS版的地区联动筛选功能
- 帝国CMS批量提取第一张图片为标题缩略图的方法
- 帝国cms自带ckeditor编辑器代码高亮的方法codesnippet风格
- 帝国CMS文章和TAG删除编号ID从1开始的方法
随机图文
-
帝国CMS灵动标签实现当前栏目高亮 支持二级栏目排序
帝国CMS实现当前栏目高亮,官网论坛也有一些方法。但都各有缺陷,比如 不支持静态化的栏目页,或不支持内容页。再者就是调用出来的栏目无法自定义排序,也就是只能按栏目ID来排序。 -
帝国CMS静态页面生成为压缩代码
内容页面生成为压缩代码1、打开文件e/class/functions.php2、找到以下函数3、在//写文件之前添加代码 -
帝国CMS邮件SMTP发送配置步骤教程
前几天,注册邮件通知功能突然失效了,又重新研究了一遍帝国CMS发送邮件SMTP配置方法,这次写一次笔记以免以后又要重新研究,浪费时间。 -
帝国CMS二次开发教程和目录结构介绍
本篇主要讲解帝国cms二次开发入门教程,学会了你就会大致知道帝国CMS二次开发从何入手了。首先在说帝国CMS二次开发之前
留言与评论 (共有 条评论) |