【UCHome二次开发】模板修改



    前一阵在做UCHome的一些修改以满足具体的应用,来做一点总结。涉及的修改都是些小功能或是界面的调整,所以主要涉及的是对于模板的修改,以下归纳一下过程和经验。



    1、模板文件定位

    确定要修改的模板文件这是第一步。

    方法一:URL分析法。查看/config.php,$_SC['template']参数指示的是当前使用的模板文件夹。关于通过URL参数定位模板文件名的方法请参考《【UCHome二次开发】主要文件说明》。

    方法二:模板缓存查看法。首先在浏览器中打开想要确定模板的页面,然后把模板缓存文件夹/data/tpl_cache/中的.php模板缓存文件全删掉,刷性浏览器,再次查看模板缓存文件夹便可看到新生产的页面模板缓存文件。根据模板缓存文件的命名规则“template_模板文件夹名_模板文件名.php”,可分析知模板文件名,从而定位到模板文件。至于此方法的缘由请参考《【UCHome二次开发】模板解析》。

    方法三:查表法。确定页面的功能,通过查阅《【UCHome二次开发】模板页面说明》来确定页面对应的模板文件。

    2、模板文件生效

    特别强调,模板文件修改后,需要将模板缓存文件夹/data/tpl_cache/中对应的.php模板缓存文件删除后,才能生效;否则页面生成仍将使用先前缓存的模板文件,而无法看到修改后的结果。

    这里提供一种方法,可以使修改模板文件后,不用手动删除缓存的模板文件就能直接看到修改结果。方法为修改/source/function_common.php中的代码

    if(!file_exists($objfile)) {

    改为

    if(!file_exists($objfile)||filemtime($objfile)<filemtime(S_ROOT.'./'.$tpl.'.htm')) {

    即可。

    因为此方法增加了一次对文件系统的访问,一定程度上会影响性能,所以此处的修改只建议运用在调试服务器上。

    3、模板文件修改

    在不是很确定修改内容的前提下,建议通过修改缓存的模板文件来调试。因为模板缓存文件是php代码,对我们来说比较熟悉,调试起来相对方便,比如不知道某个变量的值,可以直接用print_r或var_dump打印出来查看。

    通过对模板缓存文件的调试我们可以较快地定位我们要修改的地方,后面的修改就是根据UCHome模板语法对模板文件进行修改和测试了。相关的模板语法可参考《【UCHome二次开发】模板语法说明》。



    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《【UCHome二次开发】模板修改
    标签:
    分享:

已经有7 条评论抢在你前面了~

  1. 沙发
    PHP网站建设工作室 2011年8月25日 下午9:10

    如果能有一些新模块开发的文章就好了,模板机制这些东西一看就明白了。

    [回复]

    晴枫

    晴枫 回复:

    @PHP网站建设工作室, 新模块模仿者写写就OK了吧

    [回复]

  2. 板凳
    蚁族 2011年5月5日 上午9:50

    这个貌似一般页面OK,在我修改模板下header.htm文件的时候,我每次还是得需要删除缓存,所以看了下你说的那里修改的地方,
    修改方法:
    // if(!file_exists($objfile)) {
    //}

    把这个逻辑判断注释掉即可,
    也就是在调试阶段每次都执行:
    include_once (S_ROOT . ‘./source/function_template.php’);
    parse_template($tpl);

    [回复]

  3. 地板
    1035 2010年3月20日 下午1:37

    很好,必须顶

    [回复]

  4. 4楼
    hbflash9 2009年11月1日 上午11:21

    写的太好了

    [回复]

无觅相关文章插件,快速提升流量