本地IDE编辑器直接修改帝国线上模板,我做到了。这是我现在修改帝国模板时需要打开的浏览器界面:一为效果预览,一为后台刷新页面,一为制作的模板插入数据库代码,点击哪个刷新哪个,若是调试过程,可以启用浏览器自动刷新不断修改数据库模板。
因为不用再进入后台反复选择栏目,现在刷新全套模板的时间已经不到10秒钟。聪明的你,一定明白这对于效率的提升有多大的意义。而我花费在PHP模板上的制作时间,一共只有30分钟。如果你也喜欢,我很高兴。
我喜欢织梦,喜欢他的强大,喜欢他的简单,最喜欢的,是他方便;可是我也知道,安全性能低是他最大的弱点,织梦被破时有听说。可是用惯了,用顺手了,却又不想换。
后来接触了帝国,这个号称最安全的CMS,这个据说一年也报不了几个BUG的CMS,一个多月了,慢慢的就用了一个多月了。
一开始,用万能标签,又要写标签模板,再用数字引入,看着一串数字反而头大,一串数字难道会比含义鲜明的代码好懂好记?幽默的帝国团队总想着让不懂代码的人能够依赖那所谓的可视化编辑器布局,修改简单的数字调用模板来建站。是不是不知道自己的主要用户群体是哪些人呢,如果真的冲着简单去,织梦真的简单了太多。
后来,渐渐发现了灵动标签的强大 -- 直接从数据库调用,而后页面也可以直接写模板再插入变量。在初次意识到灵动标签好用的那天惊为天人 -- 原来帝国可以和织梦一样好用!!!
可是最初的开心淡去后,淡淡的郁闷又袭来。帝国改模板太麻烦了。
编辑代码并复制 > 后台 > 模板 > 列表模板 > 粘贴 > 确认 > 刷新 ,一套流程下来,足足7个步骤;如果进行了另外的操作,7个步骤要再来一遍。要是碰上网络不好,一定会揪头发;如果网络总不好,头发肯定要一把一把的掉。
我知道帝国最大的特点是安全,只是我还是无比怀念织梦。
织梦模板拖入编辑器修改保存 > 后台 > 刷新 ,一共3个步骤。
我知道帝国最大的特点是安全,只是我还是无比怀念织梦。
灵动标签让帝国变得可爱,修改模板的麻烦程度依然让我无比反感。有没有哪个IDE能够在本地编辑代码而后自动插入到数据库?
我开始搜索,我试着修改关键字搜索,我换了搜索引擎搜索,甚至还跑到群里问大神。
却始终没有得到我要的结果。
我尝试着分解自己的需求: 本地编辑代码 > 插入数据库 > 指定数据表 > 插入指定字段 > 字段的行是与传递的变量名相符合的。
编辑代码 > IDE , 插入数据库 > 刷新php文件可以插入 , 指定数据表、指定字段、名称相符where查询 。
我突然意识到,这段时间的积累可以实现自己的需求了。
却发现没有人这么干过,大神说这么干没必要。
可是我觉得有,这分明是一件一劳永逸的事。
第一次设置确实麻烦,但如果设置好了,以后再修改模板、建设新站都会方便很多,可以真正的实现本地化编辑、快速刷新,尤其是需要对多个模板进行操作的情况下,本地化编辑无疑将大大提升效率。
我决定尝试一下。
拿出半吊子的php连接数据库代码,我开始尝试。
10分钟后,我知道,自己的思路是可以实现的。只是插入一个demo并不能确定。
我继续尝试,我插入了整段代码,问题出现了,单引号冲突了,然后问题解决了。
我成功了。
空下来后,我将全套模板粘贴到php文件,一共7个,小心翼翼的弄着,用时不到30分钟。
以后,帝国也会可爱了。
----------------------------------------------------------------------------------------
以下为分解步骤,未附带php标签,文末附带完整代码供借鉴。操作前请备份模板避免误操作带来的损失。
1、连接数据库、数据表
define ('DB_HOST','localhost'); //服务器IP,本示例为本地数据库
define ('DB_USER','root'); //用户名
define ('DB_PSWD','123456'); //密码
define ('DB_NAME','mysqlname'); //数据库名称
$connect_mysql = mysql_connect(DB_HOST,DB_USER,DB_PSWD) or die('数据库连接失败'.mysql_error()); //连接服务器,若连接失败会有提示
$connect_table = mysql_select_db(DB_NAME) or die('数据表单列表选择失败'.mysql_error()); //连接上方的数据表
mysql_query('SET NAMES UTF8') or die ('字符集设置出错'.mysql_error());//设置字符集
2、设置变量
$temp_name = '默认文章内容模板'; //模板名称,下方还有引用,请注意修改,与数据库对应模板名称保持一致
$page_content = '此为单引号,内部引用的是模板内容 '; //模板全部内容
本套环节有较多需要注意的点,请注意。
① 单引号内不能包含单引号。也就是说模板内的单引号必须全部改为双引号,如title属性、js字符串、万能/灵动标签使用的单引号、时间日期等,若有遗漏一般IDE会变色,若没有变色,刷新php文件后也会有提示。
② 列表页的var需要进入后台操作,一般不会进行大改动,在此不做本地化处理
③ 请注意 $page_content变量名后是一对单引号‘’,且后面必须要接分号";" ,若无,则会报错,php对于符号特别敏感,请注意。
3、写入数据库
$query = "update phome_enewsnewstemp set temptext = '$page_content' where tempname = '$temp_name' "; //更新phome_enewsnewstemp数据表,若有修改前缀请注意修改,若修改列表模板则表名为phome_enewslisttemp。
$result = @mysql_query($query) or die('选择表单出错'.mysql_error());//若出错会有提示,请根据提示找到问题点
echo '帝国模板织梦化,恭喜您对模板'.'“'.'<b style="padding:0 6px;color:#f75555">'.$temp_name.'</b>'.'”'.'的修改已经成功了'; //刷新本php文件后,若看见粉红色的表名就是操作成功了,赶紧进入数据库或网站后台检查一下吧。
附:完整版代码,可直接复制到php文件中使用(刷新php文件生效)。
<?php
header ('content-type:text/html;charset:utf-8');
define ('DB_HOST','localhost');
define ('DB_USER','root');
define ('DB_PSWD','');
define ('DB_NAME','mysqlname');
$connect_mysql = mysql_connect(DB_HOST,DB_USER,DB_PSWD) or die('数据库连接失败'.mysql_error());
$connect_table = mysql_select_db(DB_NAME) or die('数据表单列表选择失败'.mysql_error());
mysql_query('SET NAMES UTF8') or die ('字符集设置出错'.mysql_error());
$temp_name = 'article-article';
$page_content = '
这里是需要插入的模板内容
';
$query = "update phome_enewsnewstemp set temptext = '$page_content' where tempname = '$temp_name' ";
$result = @mysql_query($query) or die('选择表单出错'.mysql_error());
echo '帝国模板织梦化,恭喜您对模板'.'“'.'<b style="padding:0 6px;color:#f75555">'.$temp_name.'</b>'.'”'.'的修改已经成功了';
?>
刷新本php文件即可写入数据库,若对数据库所知不多请参考上方步骤进行修改。
我相信我不是第一个这样操作的,但我应该是第一个写出来的,希望能够帮到和我一样纠结的你。
半小时的麻烦,是为了解决以后的心烦。
帝国模板织梦化,织梦帝国。
梦。