帝国模板之家为广大用户提供专业、一站式建站服务。

帝国cms教程

帝国cms教程栏目,提供精品建站,仿站,二次开发,安装,标签使用等图文教程,帮助建设和管理好你的帝国cms站点。

当前位置:首页 > 教程 > 帝国cms教程 > 正文

帝国cms新闻模型如何转换成文章模型

帝国模板之家 2020-10-26 帝国cms教程 评论

本文主要介绍在帝国cms中如果使用了新闻模板,想要转换成文章模型的方法。具体操作步骤如下:

1、数据备份

这个非常重要,如果转换失败可以恢复数据,避免数据丢失。

2、数据库转换

在/e/update/文件夹下,新建一个zh.php文件。编码格式与你的网站要相同。代码如下:

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

在浏览器中执行以下网址/e/update/zh.php:此程序会分组转换数据。

请注意:

(1)不能重复转换,否则数据丢失。

(2)转换完之后请立即在服务器上删除此文件。

(3)此程序适用于帝国cms7.0及后续版本。

3、修改帝国模板

如果你在之前模板中用php代码调用过被转换的字段,则此时需要用函数 GetTxtFieldText 来读取。

例如,在之前你调用newstext用代码:

<?=$navinfor['newstext']?>

newstext转换成存文本之后必调用代码是:

<?=GetTxtFieldText($navinfor['newstext'])?>

推荐教程:帝国CMS教程

以上就是帝国cms新闻模型如何转换成文章模型的方法,更多相关内容请关注帝国模板之家

这世上无忧无虑的人,反而相对寿命会长点。

已有 位小伙伴发表了看法

欢迎 发表评论

  • 匿名发表

关于

帝国cms模板

网页插件

帝国模板之家 | www.moyouyouw.cn

本站所有模板/文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系站长删除,谢谢! 寻找帝国cms模板首选帝国模板之家,用心做站,上线至今广受好评,值得信赖!

  • 交流群1:帝国cms交流群1
  • 交流群2:帝国cms交流群2
在线QQ 给我留言