Drupal 7 开发内部培训资料, 分头诗人

Drupal7 模版引擎

赞成!
0
否决!

Drupal7 默认的模版引擎是PHPtemplate,我看drupal知道支持多种模版引擎,但是我该怎么配置呢?例如smarty

8 个回答

赞成!
0
否决!

drupal的模版为什么不用smarty,这也是我早期很困惑的问题。smarty 更直观,同时也可以让美工直接操作。而phptemplate却PHP代码分布的到处都是,给人一种很零乱的感觉。

最关键的是,请一个纯美工也不会处理这个phptemplate,他得也同时会php。

所以请drupal 的美工,是比较麻烦。

而为什么drupal中不用smarty我想也有原因,可能是因为phptemplate的速度更快,省去的smarty的编译阶段。再者smarty的缓存机制在drupal并不太适合。应该还有更多的原因,有兴趣的可以参考:http://drupal.org/node/7133

可以安装smarty 模块。让drupal 支持smarty。

赞成!
0
否决!

Smarty模块没有drupal7呀。囧

赞成!
0
否决!

可以用twig呀,下载地址:http://drupal.org/project/twig

Drupal 8据说用symfony框架开发,而twig和smfony是绝配。

 

赞成!
0
否决!
<!DOCTYPE html>
<html>
    <head>
        <title>网页标题</title>
    </head>
    <body>
        <h1>{{ page_title }}</h1>

        <ul id="navigation">
            {% for item in navigation %}
                <li><a href="{{ item.href }}">{{ item.caption }}</a></li>
            {% endfor %}
        </ul>
    </body>
</html>

 

twig比PHPtemplate简单多直观多了,少了烦人的<?PHP ?>和if、for等语句,Twig里定义了两种分隔符:
{{ ... }}:输出变量或者表达式结果;
{% ... %}:界定条件语句,如for循环和if语句。

赞成!
0
否决!

上面少if、for说错了。为什么不好修改呀?

赞成!
0
否决!

谢谢,看到多一个可用的模版的。

想知道怎么开发一个适应于每一款的模版引擎。嘻嘻

赞成!
0
否决!

PHP有Smarty、Template Lite、TinyButStrong、 XTemplate、twig、FXL Template等很多种模板引擎,神仙也没办法开发出这样一个多模板引擎的

赞成!
0
否决!

对的,所以只能分开去开发。谢谢你哈。