帝国CMS新闻模型怎么转文章模型?帝国CMS把新闻模型文章转成文章模型的方法!
时间:2023年12月28日
/来源:网络
/编辑:佚名
帝国CMS新闻模型怎么转文章模型?帝国CMS把新闻模型文章转成文章模型的方法!
经常会有人问到,帝国CMS新闻模型怎么转文章模型呢?相信很多的朋友都遇到过类似的问题,那么今天帝国CMS模板网就来告诉大家帝国CMS把新闻模型文章转成文章模型的方法,一起来看看怎么操作吧:
刚开始接触帝国cms的时候,用新闻模型建了一个文章阅读站,最近网站转型,想发一些长篇文章,需要将新闻模型转为文章模型,搜了一下论坛和互联网,都没有能用于7.2的相关插件或工具,只好自己动手写一个。这里把代码和步骤分享出来,希望能帮助到其它人。
1、老数据备份
非常重要。万一在转换过程中出现意外,确保老数据安全部丢失。
2、数据库转换
将以下代码保存为一个php文件,文件编码格式与你网站编码相同,代码中的参数设置部分按照实际情况来填写。
假设你为此新建了一个名为 zh.php 的文件,那么将此文件放到 e/update/ 文件夹中。那么你这时在浏览器中执行以下网址:
http://你的网址/e/update/zh.php?tochange=1
此程序会分组转换数据。
请注意:
(1)不能重复转换,否则数据丢失。
(2)转换完之后请立即在服务器上删除此文件。
(3)此程序适用于帝国cms7.0及后续版本。
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
@set_time_limit(1000);
//********************* 参数设置开始 *********************
$newstb="gushi"; //需要转换的数据表
$cf='newstext';//需要转换的字段名
$fa=1;//字段位置,0为主表,1为副表
$changeline=50; //每组转换数
//********************* 参数设置结束 *********************
if($_GET['tochange']==1)
{
include("../class/connect.php");
include("../class/db_sql.php");
include("../class/functions.php");
$link=db_connect();
$empire=new mysqlquery();
dp_ChangeNewsToArticle($_GET['start']);
}
//开始转换
function dp_ChangeNewsToArticle($start=0){
global $empire,$newstb,$cf,$fa,$changeline,$dbtbpre;
$start=(int)$start;
if($start==0){
$ckist=$empire->fetch1("select fid,savetxt from {$dbtbpre}enewsf where tbname='$newstb' and f='$cf' limit 1");
if(!$ckist['fid']){
exit("参数设置错误");
}
if(!$ckist['savetxt']){
//字段表
$empire->query("update {$dbtbpre}enewsf set savetxt=1 where tbname='$newstb' and f='$cf' limit 1");
//组合存文本
TogSaveTxtF(1);
//更新缓存
GetConfig(1);
}
}
$b=0;
$tbname=$fa?$newstb."_data_1":$newstb;
$sql=$empire->query("select id,classid,".$cf." from {$dbtbpre}ecms_".$tbname." where id>$start order by id limit ".$changeline);
while($r=$empire->fetch($sql)){
$b=1;
$newid=$r['id'];
$newstext=dp_ReturnChangeNewstextUrl($r[$cf],$r['id']);
$empire->query("update {$dbtbpre}ecms_".$tbname." set ".$cf."='$newstext' where id='$newid' limit 1");
}
if($b==0)
{
echo"恭喜您!转换完毕。";
exit();
}
echo"一组数据转换完毕,正进入下一组 (<font color=red><b>".$newid."</b></font>)......<script>self.location.href='index.php?tochange=1&start=$newid';</script>";
exit();
}
//返回内容地址
function dp_ReturnChangeNewstextUrl($value,$id){
global $public_r,$newstb,$cf;
//存放文本
if(strstr($public_r['savetxtf'],",".$newstb.".".$cf.","))
{
$truetime=time();
//建立目录
$thetxtfile=GetFileMd5().$id;
$truevalue=MkDirTxtFile(date("Y/md",$truetime),$thetxtfile);
//写放文件
EditTxtFieldText($truevalue,$value);
$value=$truevalue;
}
else{
exit("参数设置错误");
}
return $value;
}
?>
<html>
<head>
<title>新闻模型转文章模型程序</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
a:link { COLOR: #000000; TEXT-DECORATION: none }
a:visited { COLOR: #000000 ; TEXT-DECORATION: none }
a:active { COLOR: #000000 ; TEXT-DECORATION: underline }
a:hover { COLOR: #000000 ; TEXT-DECORATION:underline }
.home_top { border-top:2px solid #4798ED; }
.home_path { background:#4798ED; padding-right:10px; color:#F0F0F0; font-size: 11px; }
td, th, caption { font-family: "宋体"; font-size: 12px; color:#000000; LINE-HEIGHT: 165%; }
.hrLine{MARGIN: 0px 0px; BORDER-BOTTOM: #807d76 1px dotted;}
</style>
</head>
<body>
<p><br>
<br>
</p>
<form method="get" action="index.php" onsubmit="return confirm('确认要执行?');">
<table width="500" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#0472BC">
<tr>
<td height="25"><div align="center"><font color="#FFFFFF" size="3"><strong>新闻模型转文章模型程序</strong></font></div></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="50">
<div align="center">
<input type=submit name=ok value="点击开始转换">
<input type=hidden name="tochange" value=1>
</div></td>
</tr>
</table>
</form>
</body>
</html>
3、模板修改
如果你在之前模板中用php代码调用过被转换的字段,则此时需要用函数 GetTxtFieldText 来读取。
例如,在之前你调用newstext用代码:
<?=$navinfor['newstext']?>
newstext转换成存文本之后必调用代码是:
<?=GetTxtFieldText($navinfor['newstext'])?>
4、补充说明:新闻模型与文章模型的区别
新闻系统模型的内容(newstext)是存放数据库的;而文章系统模型的内容(newstext)是存放于文本文件。对于数据量比较大的,推荐使用文章系统模型。
新闻系统模型支持内容(newstext)搜索;而文章系统模型不支持内容(newstext)搜索。
OK,到这里就完成了,大家快去试试吧!
经常会有人问到,帝国CMS新闻模型怎么转文章模型呢?相信很多的朋友都遇到过类似的问题,那么今天帝国CMS模板网就来告诉大家帝国CMS把新闻模型文章转成文章模型的方法,一起来看看怎么操作吧:
刚开始接触帝国cms的时候,用新闻模型建了一个文章阅读站,最近网站转型,想发一些长篇文章,需要将新闻模型转为文章模型,搜了一下论坛和互联网,都没有能用于7.2的相关插件或工具,只好自己动手写一个。这里把代码和步骤分享出来,希望能帮助到其它人。
1、老数据备份
非常重要。万一在转换过程中出现意外,确保老数据安全部丢失。
2、数据库转换
将以下代码保存为一个php文件,文件编码格式与你网站编码相同,代码中的参数设置部分按照实际情况来填写。
假设你为此新建了一个名为 zh.php 的文件,那么将此文件放到 e/update/ 文件夹中。那么你这时在浏览器中执行以下网址:
http://你的网址/e/update/zh.php?tochange=1
此程序会分组转换数据。
请注意:
(1)不能重复转换,否则数据丢失。
(2)转换完之后请立即在服务器上删除此文件。
(3)此程序适用于帝国cms7.0及后续版本。
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
@set_time_limit(1000);
//********************* 参数设置开始 *********************
$newstb="gushi"; //需要转换的数据表
$cf='newstext';//需要转换的字段名
$fa=1;//字段位置,0为主表,1为副表
$changeline=50; //每组转换数
//********************* 参数设置结束 *********************
if($_GET['tochange']==1)
{
include("../class/connect.php");
include("../class/db_sql.php");
include("../class/functions.php");
$link=db_connect();
$empire=new mysqlquery();
dp_ChangeNewsToArticle($_GET['start']);
}
//开始转换
function dp_ChangeNewsToArticle($start=0){
global $empire,$newstb,$cf,$fa,$changeline,$dbtbpre;
$start=(int)$start;
if($start==0){
$ckist=$empire->fetch1("select fid,savetxt from {$dbtbpre}enewsf where tbname='$newstb' and f='$cf' limit 1");
if(!$ckist['fid']){
exit("参数设置错误");
}
if(!$ckist['savetxt']){
//字段表
$empire->query("update {$dbtbpre}enewsf set savetxt=1 where tbname='$newstb' and f='$cf' limit 1");
//组合存文本
TogSaveTxtF(1);
//更新缓存
GetConfig(1);
}
}
$b=0;
$tbname=$fa?$newstb."_data_1":$newstb;
$sql=$empire->query("select id,classid,".$cf." from {$dbtbpre}ecms_".$tbname." where id>$start order by id limit ".$changeline);
while($r=$empire->fetch($sql)){
$b=1;
$newid=$r['id'];
$newstext=dp_ReturnChangeNewstextUrl($r[$cf],$r['id']);
$empire->query("update {$dbtbpre}ecms_".$tbname." set ".$cf."='$newstext' where id='$newid' limit 1");
}
if($b==0)
{
echo"恭喜您!转换完毕。";
exit();
}
echo"一组数据转换完毕,正进入下一组 (<font color=red><b>".$newid."</b></font>)......<script>self.location.href='index.php?tochange=1&start=$newid';</script>";
exit();
}
//返回内容地址
function dp_ReturnChangeNewstextUrl($value,$id){
global $public_r,$newstb,$cf;
//存放文本
if(strstr($public_r['savetxtf'],",".$newstb.".".$cf.","))
{
$truetime=time();
//建立目录
$thetxtfile=GetFileMd5().$id;
$truevalue=MkDirTxtFile(date("Y/md",$truetime),$thetxtfile);
//写放文件
EditTxtFieldText($truevalue,$value);
$value=$truevalue;
}
else{
exit("参数设置错误");
}
return $value;
}
?>
<html>
<head>
<title>新闻模型转文章模型程序</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
a:link { COLOR: #000000; TEXT-DECORATION: none }
a:visited { COLOR: #000000 ; TEXT-DECORATION: none }
a:active { COLOR: #000000 ; TEXT-DECORATION: underline }
a:hover { COLOR: #000000 ; TEXT-DECORATION:underline }
.home_top { border-top:2px solid #4798ED; }
.home_path { background:#4798ED; padding-right:10px; color:#F0F0F0; font-size: 11px; }
td, th, caption { font-family: "宋体"; font-size: 12px; color:#000000; LINE-HEIGHT: 165%; }
.hrLine{MARGIN: 0px 0px; BORDER-BOTTOM: #807d76 1px dotted;}
</style>
</head>
<body>
<p><br>
<br>
</p>
<form method="get" action="index.php" onsubmit="return confirm('确认要执行?');">
<table width="500" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#0472BC">
<tr>
<td height="25"><div align="center"><font color="#FFFFFF" size="3"><strong>新闻模型转文章模型程序</strong></font></div></td>
</tr>
<tr bgcolor="#FFFFFF">
<td height="50">
<div align="center">
<input type=submit name=ok value="点击开始转换">
<input type=hidden name="tochange" value=1>
</div></td>
</tr>
</table>
</form>
</body>
</html>
3、模板修改
如果你在之前模板中用php代码调用过被转换的字段,则此时需要用函数 GetTxtFieldText 来读取。
例如,在之前你调用newstext用代码:
<?=$navinfor['newstext']?>
newstext转换成存文本之后必调用代码是:
<?=GetTxtFieldText($navinfor['newstext'])?>
4、补充说明:新闻模型与文章模型的区别
新闻系统模型的内容(newstext)是存放数据库的;而文章系统模型的内容(newstext)是存放于文本文件。对于数据量比较大的,推荐使用文章系统模型。
新闻系统模型支持内容(newstext)搜索;而文章系统模型不支持内容(newstext)搜索。
OK,到这里就完成了,大家快去试试吧!
新闻资讯 更多
- 【帝国cms教程】帝国CMS模板变量$GLOBALS[navclassid]用法分析04-03
- 【帝国cms教程】鲜为人知帝国CMS内容页调用上一篇和下一篇的精华方法汇总04-03
- 【帝国cms教程】怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!04-03
- 【帝国cms教程】帝国CMS模板$GLOBALS[navclassid]用法详解04-03
- 【帝国cms教程】帝国cms 7.5版列表页分页样式修改笔记04-02
- 【帝国cms教程】解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法04-02
- 【帝国cms教程】帝国CMS只备份栏目和模板的方法04-02
- 【帝国cms教程】帝国CMS怎样删除清空数据库记录?04-02
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法