fex-team/fis3-smarty

问:不知道为什么我的html framework似乎不起作用

Closed this issue · 1 comments

{html framework="common:static/mod.js"}
{head}
<meta charset='utf-8'>
<title>测试</title>
{require name="common:static/reset.css"}
{require name="common:static/layout.less"}
{/head}
{body id="screen"}
<div id="container">
    <div class="main">
        {block name="main"}{/block}
    </div>
</div>
{require name='common:page/layout.tpl'}{/body}
{/html}

这是layout的代码

以下是浏览器上输出的html

common:static/mod.js<html>
<head>
<meta charset='utf-8'>
<title>测试</title>
<link rel="stylesheet" type="text/css" href="/static/common/reset_f4172e1.css"/><link rel="stylesheet" type="text/css" href="/static/common/layout_9967cf4.css"/></head>
<body id="screen">
<div id="container">

    <div class="main">

    </div>
</div>
</body></html>

我后端的smarty版本是3.1.29 配置如下

'cache_lifetime' => 120,
        'caching' => false,
        'template_dir' => APPPATH . 'views',
        'config_dir' => APPPATH . 'config',
        'compile_dir' => DOCROOT . 'cache' . DS . 'smarty_compile',
        'cache_dir' => DOCROOT . 'cache' . DS. 'smarty_cache'

追加一个问题 当我用 {widget name="common:widget/header/header.tpl"} 这个时 就会报错
SmartyException [ 0 ]: property 'sub_template' does not exist.
是不是我用的方式不对 还是跟smarty的版本有关?

已经解决,是smarty版本问题,建议在文档中说明 smarty=3.1.13,因为在3.1.29(最新版本)中html插件和widget插件都会出错,或者建议对smarty插件进行升级,提高兼容性。