WordPress » 编辑系统模板的小工具 imag1
 
 
编辑系统模板的小工具

编辑系统模板的小工具

xoops使用smarty模板templates,完成内容和表现的分离,模板是控制表现的主要东东。我们在修改模板的时候遇到了一些麻烦,特别是系统模板。系统模板是xoops系统安装时安装的模板,如userinfo.php使用的模板,没有现成的方法更新。我们最初调试的时候使用了sql指令修改,由于是美工在修改,于是我总被打断工作去修改模板,于是我写了一个小程序来修改模板。

这个小程序被放在某个模块下,使用的时候浏览 http:// XOOPS/modules/…/tpledit.php?id=12 ,后面id就是模板的id
模板文件的数据库表是tplfile,其中tpl_file字段是模板文件名,tpl_id字段就是模板id,模板id就是传送给这个程序的参数。

/*
* Created on 2005-5-6
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/

include “../../mainfile.php”;

include XOOPS_ROOT_PATH.”/header.php”;
include_once XOOPS_ROOT_PATH.”/kernel/tplfile.php”;
include_once XOOPS_ROOT_PATH.”/class/xoopsformloader.php”;

if (!$xoopsUser) {
redirect_header(’index.php’, 3, “您没有登陆,无法访问”);
exit ();
}

if ($xoopsUser->uid() == 1) {
$tplid = 15;
if (isset ($_GET[’id’])) {

$tplid = $_GET[’id’];
}
$op = “1″;
if (isset ($_POST)) {
foreach ($_POST as $k => $v) {
${ $k } = $v;
if ($k == “update”) {
$op = 2;
}
//echo $k.” “.$v.”
“;

}
}

$tplhandle = new XoopsTplfileHandler();
$db = & Database :: getInstance();
$tplhandle->XoopsObjectHandler($db);
if (!$tpl = $tplhandle->get($tplid)) {
redirect_header(’../../index.php’, 3, “模板不存在,检查模板ID”);
exit ();
}

$tplhandle->loadSource($tpl);
$tplsource = $tpl->getVar(’tpl_source’);

//var_dump($tpl);
//echo $tplflietxt;

//echo “hi
“;
//echo $op;
if ($op == 1) {

$tplform = new XoopsThemeForm(’模板编辑’, ‘tpl edit’, ‘tpledit.php’, ‘POST’);
$tplform->addElement(new XoopsFormLabel(”tpl ID”, $tplid));
$tplform->addElement(new XoopsFormTextArea(”tpl file”, “tpl_source”, $tplsource), true);
$tplform->addElement(new XoopsFormButton(’更新’, ‘update’, ‘update’, ’submit’));

$id_hidden = new XoopsFormHidden(’tplid’, $tplid);

$tplform->addElement($id_hidden);

//$tplform->assign($xoopsTpl);

$tplform->display();
include XOOPS_ROOT_PATH.”/footer.php”;
}

if ($op == 2) {

$myts = & MyTextSanitizer :: getInstance();
$tpl_source = $myts->stripSlashesGPC(trim($tpl_source));

//echo $tpl_source;
$tpl->setVar(’tpl_source’, $tpl_source);
$tplhandle->forceUpdate($tpl);

redirect_header(”tpledit.php”, 3, ‘执行了模板的更新’);

}

include XOOPS_ROOT_PATH.”/footer.php”;

} else {

redirect_header(”../../index.php”, 30, ‘您没有权限’);

}
?>

.

xoops: 03●kounenki_xoops_forum_posting003xoops: 03●kounenki_xoops_forum_posting008xoops: 03●kounenki_xoops_forum_posting005
smarty: IMG_2393smarty: UMAR SAEEDsmarty: UMAR SAEED ROCKSTAR-1
模板: xsmb_12k010模板: 首页模板模板: xsmb830

发表评论

抱歉,您必须登录后才可以发表评论。