帝国CMS您现在的位置是:首页 > 博客日志 > 帝国CMS

帝国CMS7.5 信息反馈页面模板修改,让控制面板模板头尾也支持标签调用的方法

<a href='mailto:'>微wx笑</a>的头像微wx笑 2021-08-05帝国CMS 2 0关键字: 帝国CMS  信息反馈  页面模板  标签调用  

信息页面模板的修改,需要修改公共模板中的控制面板模板,但是帝国CMS本身默认是不支持标签调用的,所以如果你的模板中使用了标签调用的话,还需要添加、修改代码来支持。

信息页面模板的修改,需要修改公共模板中的控制面板模板,但是帝国CMS本身默认是不支持标签调用的,所以如果你的模板中使用了标签调用的话,还需要添加、修改代码来支持。Pfz无知人生


Pfz无知人生

牵扯到的文件

1.页面头部尾部修改Pfz无知人生

         公共模板——>控制面板模板Pfz无知人生

2.后台信息反馈列表修改Pfz无知人生

         /e/admin/tool/feedback.phpPfz无知人生

3.发布信息反馈成功后的跳转页面修改Pfz无知人生

        /e/class/q_functions.php 文件 function AddFeedback($add)方法。Pfz无知人生

4、让控制面板模板头尾也支持标签调用Pfz无知人生

         /e/class/functions.phpPfz无知人生

支付标签调用的修改方法

找到Pfz无知人生

=============================Pfz无知人生

//解析代码Pfz无知人生

function RepExeCode($string)Pfz无知人生

=============================Pfz无知人生

在这之前添加Pfz无知人生

//标签替换4
function CustomNewsBq($name,$indextext){
        global $empire,$dbtbpre,$public_r,$emod_r,$class_r,$class_zr,$fun_r,$navclassid,$navinfor,$class_tr,$level_r,$etable_r;
        $file=ECMS_PATH.'e/data/tmp/dt_temp'.$name.'.php';
        $indextext=stripSlashes($indextext);
        $indextext=ReplaceTempvar($indextext);//替换全局模板变量
        //替换标签
        $indextext=DoRepEcmsLoopBq($indextext);
        $indextext=RepBq($indextext);
        //写文件
        WriteFiletext($file,AddCheckViewTempCode().$indextext);
        //读取文件内容
       ob_start();
        include($file);
        $string=ob_get_contents();
        ob_end_clean();
        $string=RepExeCode($string);//解析代码
        return $string;
}

找到Pfz无知人生

WriteFiletext($file1,AddCheckViewTempCode().$r[0]);Pfz无知人生

改为Pfz无知人生

$tmplist= CustomNewsBq ("cp0",$r[0]);
WriteFiletext($file1,$tmplist);

找到Pfz无知人生

WriteFiletext($file2,AddCheckViewTempCode().$r[1]);Pfz无知人生

改为Pfz无知人生

$tmplist= CustomNewsBq ("cp1",$r[1]);
WriteFiletext($file2,$tmplist);

都在 ReCptemp 方法中Pfz无知人生

//更新控制面板模板
function ReCptemp(){
	global $empire,$public_r,$dbtbpre,$fun_r;
	$pr=$empire->fetch1("select cptemp from ".GetTemptb("enewspubtemp")." limit 1");
	$url="<?=\$url?>";
	$pagetitle="<?=defined('empirecms')?\$public_diyr[pagetitle]:'".$fun_r['membercp']."'?>";
	$temptext=ReplaceSvars($pr['cptemp'],$url,0,$pagetitle,$pagetitle,$pagetitle,$add,1);
	//生成头尾文件
	$r=explode("[!--empirenews.template--]",$temptext);
	$file1=eReturnTrueEcmsPath()."e/data/template/cp_1.php";
	//WriteFiletext($file1,AddCheckViewTempCode().$r[0]);
        $tmplist= CustomNewsBq("cp0",$r[0]);
	WriteFiletext($file1,$tmplist);
	$file2=eReturnTrueEcmsPath()."e/data/template/cp_2.php";
	//WriteFiletext($file2,AddCheckViewTempCode().$r[1]);
  	$tmplist= CustomNewsBq("cp1",$r[1]);
	WriteFiletext($file2,$tmplist);
}


Pfz无知人生

注意:虽然支持标签调用了,但是出现了一个副作用,就是“现在的位置:”显示不出来了。Pfz无知人生

2021-08-06更新,解决位置导航问题

完整代码Pfz无知人生

//更新控制面板模板
function ReCptemp(){
	global $empire,$public_r,$dbtbpre,$fun_r;
	$pr=$empire->fetch1("select cptemp from ".GetTemptb("enewspubtemp")." limit 1");
	$url="&lt;?=\$url?&gt;";
	$pagetitle="<?=defined('empirecms')?\$public_diyr[pagetitle]:'".$fun_r['membercp']."'?>";
	$temptext=ReplaceSvars($pr['cptemp'],$url,0,$pagetitle,$pagetitle,$pagetitle,$add,1);
	//生成头尾文件
	$r=explode("[!--empirenews.template--]",$temptext);
	$file1=eReturnTrueEcmsPath()."e/data/template/cp_1.php";
	//WriteFiletext($file1,AddCheckViewTempCode().$r[0]);
    $tmplist= CustomNewsBq("cp0",$r[0]);
    $tmplist= str_replace($url,'<?=\$url?>',$tmplist); //位置导航
	WriteFiletext($file1,$tmplist);
	$file2=eReturnTrueEcmsPath()."e/data/template/cp_2.php";
	//WriteFiletext($file2,AddCheckViewTempCode().$r[1]);
  	$tmplist= CustomNewsBq("cp1",$r[1]);
	WriteFiletext($file2,$tmplist);
}

前面“CustomNewsBq”方法的代码中使用了“include($file);”,等于是把文件执行了一遍,所以文件中的“<?=\$url?>”就没有了,我这里先将 “$url="&lt;?=\$url?&gt;";”修改,执行完“CustomNewsBq”方法后,再执行一次替换Pfz无知人生

$tmplist= str_replace($url,'<?=\$url?>',$tmplist); //位置导航

成功解决信息反馈页面“现在的位置:”显示不出来的问题。Pfz无知人生


Pfz无知人生

参考:https://www.daixiao360.cn/jc/619.html Pfz无知人生


Pfz无知人生

模板修改

位置:插件》信息反馈管理》管理反馈分类Pfz无知人生

image.pngPfz无知人生

可以有多个反馈分类,通常其实一个就够了,修改默认反馈分类就可以了。Pfz无知人生

自动生成反馈表单

默认的生成代码生成的表单是表格形式,使用 table 标签,导致对移动端兼容适配很不好,所以将其改为 div 形式的。Pfz无知人生

修改 /e/class/com_functions.php,大约在688行Pfz无知人生

//自动生成反馈表单
function ReturnFeedbackBtemp($cname,$center,$mustenter){
	global $empire,$dbtbpre,$fun_r;
	//表单元素
	$temp="<div style='width:85px;min-height:35px;float:left;clear: left;'>enews.name:</div><div style='min-height:35px;float:left;clear: right;'>enews.var</div>\r\n";
	for($i=0;$i<count($center);$i++)
	{
		$v=$center[$i];
		$fr=$empire->fetch1("select fform,fformsize,fvalue from {$dbtbpre}enewsfeedbackf where f='".RepPostVar($v)."' limit 1");
		if($fr['fform']=="file")
		{
			$fsize=$fr[fformsize]?" size='".$fr[fformsize]."'":"";
			$repform="<input type='file' name='".$v."'".$fsize." size='25' class='input'>";
		}
		elseif($fr['fform']=="textarea")
		{
			$fsr=explode(',',$fr[fformsize]);
			$cols=$fsr[0]?$fsr[0]:60;
			$rows=$fsr[1]?$fsr[1]:12;
			$repform="<textarea name='".$v."' cols='".$cols."' rows='".$rows."' class='input' style='width:95%;max-width:600px;'>".$fr[fvalue]."</textarea>";
		}
		elseif($fr['fform']=="select"||$fr['fform']=="radio"||$fr['fform']=="checkbox")
		{
			$repform=GetBFFformSelect($fr['fform'],$v,$fr[fvalue],$fr[fformsize]);
		}
		else
		{
			$fsize=$fr[fformsize]?" size='".$fr[fformsize]."'":"";
			$repform="<input name='".$v."' type='text' value='".$fr[fvalue]."'".$fsize." size='25' class='input'>";
		}
		//必填
		$star="";
		if(strstr($mustenter,",".$v.","))
		{
			$star="(<font color='red'>*</font>)";
		}
		$data.=str_replace("enews.var",$repform.$star,str_replace("enews.name",$cname[$v],$temp));
    }
	return "[!--cp.header--]\r\n<div style='width:100%; background:#DBEAF5;overflow: auto; padding: 10px;'>\r\n<form name='feedback' method='post' enctype='multipart/form-data' action='../../enews/index.php'>\r\n<input name='enews' type='hidden' value='AddFeedback'>\r\n".$data."<div style='width:85px;height:35px;float:left;clear: left;'></div><div style='height:35px;float:left;'><input type='submit' name='submit' value='".$fun_r['onsubmit']."' class='btn primary'> <input type='reset' name='Submit22' value='重置' class='btn' /></div>\r\n</form>\r\n</div>\r\n[!--cp.footer--]";
}


Pfz无知人生

本文由 微wx笑 创作,采用 CC BY-NC 4.0 许可协议。 非商业性使用可自由转载、引用、甚至修改,但需署名作者且注明出处。

很赞哦! () 有话说 ()