软件简介独立页面,以下针对软件介绍生成(可扩展到小游戏等等,需要多一个页面的开发),用帝国7.0以插件形式开发。插件放在后台的extend目录下,即e/admin/extend

1.增加插件菜单(注意classid和classtype 的值,根据实际调整)

INSERT INTO  `jijiduicom`.`xt_enewsmenuclass` (
`classid` ,
`classname` ,
`issys` ,
`myorder` ,
`classtype`
)
VALUES (
'9',  '软件简介生成插件',  '0',  '0',  '2'
);

INSERT INTO  `jijiduicom`.`xt_enewsmenu` (
`menuid` ,
`menuname` ,
`menuurl` ,
`myorder` ,
`classid`
)
VALUES (
'18',  '软件简介设置',  'extend/soft/softset.php',  '0',  '9'
);

INSERT INTO  `jijiduicom`.`xt_enewsmenu` (
`menuid` ,
`menuname` ,
`menuurl` ,
`myorder` ,
`classid`
)
VALUES (
'19',  '软件简介生成',  'extend/soft/softmk.php',  '0',  '9'
);

2.软件简介设置开发


数据字段(xt_ecms_download_soft):
newstempid smallint(6) 软件简介内容模板ID 
repagenum smallint(5) 软件简介生成每组数
newspath varchar(20) 软件简介内容页日期目录形式  
filename tinyint(1) 软件简介内容页文件命名形式  
filetype varchar(10) 软件简介内容页文件扩展名 
filename_qz varchar(20) 软件简介内容文件名前缀 
showdt tinyint(1) 软件简介内容页模式 0为静态页面,1为动态生成,2为动态页面 [暂未使用]
ipath varchar(255) 软件简介自定义内容页存放目录 
addreinfo tinyint(1) 发布信息生成软件简介内容页 1为生成,0为不生成 (后台) [暂未使用]
keycid smallint(6) 替换内容关键字分类ID 
softnotcid smallint(6) 限制生成的栏目ID 

创建数据表
CREATE TABLE IF NOT EXISTS `xt_ecms_download_soft` (
  `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
  `newstempid` smallint(6) NOT NULL DEFAULT '0',
  `repagenum` smallint(5) unsigned NOT NULL DEFAULT '0',
  `newspath` varchar(20) NOT NULL DEFAULT '',
  `filename` tinyint(1) NOT NULL DEFAULT '0',
  `filetype` varchar(10) NOT NULL DEFAULT '',
  `filename_qz` varchar(20) NOT NULL DEFAULT '',
  `showdt` tinyint(1) NOT NULL DEFAULT '0',
  `ipath` varchar(255) NOT NULL DEFAULT '',
  `addreinfo` tinyint(1) NOT NULL DEFAULT '0',
  `keycid` smallint(6) NOT NULL DEFAULT '0',
  `softnotcid` smallint(6) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;


插入数据
INSERT INTO `xt_ecms_download_soft` (`id`, `newstempid`, `repagenum`, `newspath`, `filename`, `filetype`, `filename_qz`, `showdt`, `ipath`, `addreinfo`, `keycid`, `softnotcid`) VALUES
(1, 23, 30, '', 0, '.html', '', 0, 'html', 0, 0, '25,26,46');


3、生成程序开发
softset.php  设置界面
softmk.php   生成界面
softchtml.php  跳转页面
soft_function.php  程序功能
soft_message.php  信息提示语句数组


4、内容模板增加及修改
内容模板链接代码:

<div id="soft-intro-wrap" style="padding:10px; line-height:25px"> 
  <?=$navinfor[titlepic]?'<p><img onload="DrawImage2(this)" src="'.$navinfor[titlepic].'" alt="'.$navinfor[title].'" /></p>':'';?>
  <p><?=htmltext($navinfor[newstext],300)?></p>
  <div class="softIntro-more"><b><a target="_blank" href="http://www.jijidui.com/cms/[!--id--].html">点击查看全部软件简介</a></b></div>
</div>


userfun.php 增加模板中用到的过滤函数

//newstext内容过滤,
function htmltext($jianjie,$length=300,$fh='......')
{
  if (!$jianjie){return '';}
  $jianjie=strip_tags($jianjie);
  $jianjie=sub("$jianjie",0,$length);//sub为帝国的函数
  $jianjie=trim($jianjie).$fh;
  return $jianjie;
}

5、程序优化,增加或修改软件时增加自动生成简介内容

A、在ecmschtml.php 中增加调用

查找: require("../class/chtmlfun.php"); 在下面增加

require("extend/soft/soft_function.php");//2014 add 软件简介

B、在ecmsinfo.php 中增加调用

查找:require("../class/hinfofun.php");  在下面增加

require("extend/soft/soft_function.php");//2014 add 软件简介

C、在hinfofun.php 的增加和修改函数中查找类似以下代码的中(共三个地方,包括增加,修改,修改信息(快速))

//生成文件
    if($ccr['addreinfo']&&$newchecked)
    {
        GetHtml($add['classid'],$add['id'],'',0);
    }

在gethtml语句下面增加:

        if ($class_r[$add[classid]][tbname]=='download')//生成软件简介信息文件 2014 add
        {
           GetSoftHtml($add['classid'],$add['id'],'',0,1);
        }

D、在chtmlfun.php文件中的“//生成单信息” ReSingleInfo 函数中增加生成

查找 GetHtml($r['classid'],$r['id'],$r,1);//生成信息文件 

在下一行增加代码

        if ($class_r[$classid][tbname]=='download')//生成软件简介信息文件 2014 add
        {
           GetSoftHtml($r['classid'],$r['id'],'',0,1);
        }

E、在chtmlfun.php 的//生成所有内容页面 ReNewsHtml函数中增加生成

查找 GetHtml($r['classid'],$r['id'],'',0,1);//生成信息文件

在下一行增加代码

        if ($tbname=='download')//生成软件简介信息文件 2014 add
        {
           GetSoftHtml($r['classid'],$r['id'],'',0,1);
        }

6、设置文件生成缓存,增加生成效率

GetSoftCache()

附件下载地址 : Software_Description.zip