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

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

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

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

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


SHx无知

牵扯到的文件

1.页面头部尾部修改SHx无知

         公共模板——>控制面板模板SHx无知

2.后台信息反馈列表修改SHx无知

         /e/admin/tool/feedback.phpSHx无知

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

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

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

         /e/class/functions.phpSHx无知

支付标签调用的修改方法

找到SHx无知

=============================SHx无知

//解析代码SHx无知

function RepExeCode($string)SHx无知

=============================SHx无知

在这之前添加SHx无知

//标签替换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;
}

找到SHx无知

WriteFiletext($file1,AddCheckViewTempCode().$r[0]);SHx无知

改为SHx无知

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

找到SHx无知

WriteFiletext($file2,AddCheckViewTempCode().$r[1]);SHx无知

改为SHx无知

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

都在 ReCptemp 方法中SHx无知

//更新控制面板模板
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);
}


SHx无知

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

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

完整代码SHx无知

//更新控制面板模板
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”方法后,再执行一次替换SHx无知

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

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


SHx无知

参考:https://www.daixiao360.cn/jc/619.html SHx无知


SHx无知

模板修改

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

image.pngSHx无知

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

自动生成反馈表单

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

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

//自动生成反馈表单
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--]";
}


SHx无知

本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/EmpireCMS/2021-08-05/713.html

很赞哦! () 有话说 ()