ThinkPHP实现在可视化后台管理永久修改前端视图页面的方法

我一直以来就在纳闷意见事情,就是像csdn一样,用户可以自己去修改自己的主页样式,而且是永久性的修改,很多的地方都请到了,把视图样式交给用户这也是未来发展的趋势,想QQ空间装扮,甚至一些建站程序的后台都是这样的,所以,把这个原理明白是非常重要的。

首先这个显然不可能通过前端的来实现,因为前段的东西到用户那里最终是放到内存里面,内存是有易失性,那么就应该是放在后台,同样的,我们也不可能去直接修改后台文件,这样代价非常大,那么就要把他们放入数据库中,数据库中的数据时存在硬盘里面的,不容易丢失,而且通过后台文件也很容易操作,这样的话,思路就来了。

在后台的可视化管理界面,存放各种样式的按钮,表单等,包括具体修改的页面,在数据库里面,存放的是前台视图的样式数据,这中间是缺少一个连接的,但smarty完美的解决了这个问题,而且分离了数据,修改就是修改的数据库的数据,提取就是提取数据库的样式,这就是核心原理。


下面有我的一份实例代码仅供参考:

<?php
namespace Home\Controller;
use Think\Controller;
class TestController extends Controller {
   	public function test1(){
   		$info=D("style");

   		$temp=$info->select();
   		$info->id='2';
   		$info->value=$_POST[value];
   		$info->save();
   		$bg=$temp[1]['value'];
   		$size=$temp[4]['value'];
   		echo $bg;
   		echo "<br/>";
   		echo $size;
   		$this->assign(bg,$bg);
   		$this->assign(size,$size);
   		$this->display();
   	}

}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<title>bg测试</title>
</head>
<body bgcolor={$bg}>
	<font style="font-size: {$size}">测试赛</font>
	<form action="{$smarty.const.SET_URL}index.php/Home/Test/test1" method="POST">
		<input type="text" name="value">
		<br/>
		<input type="submit" value="提交数据">
	</form>
</body>
</html>


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。