我需要在PHP中找到一个模板引擎和/或框架,让我发布一个带有一个模板的网站,并通过制作一个子模板在同一台服务器上的其他网站上重用该模板,我只覆盖某些设计父模板中的元素。
我正在寻找的是部署速度 - 我可以使用哪个模板引擎(需要PHP)来获取其他网站,最快?
例如,我有针对不同类别的各种市场推出的网站。因此,我将创建一个英国网站模板作为主模板,然后覆盖瑞典和法国市场的徽标和静态文本等详细信息。此外,对于不同的类别(例如Men's Fashion vs. Women's Fashion),我需要覆盖某些设计元素的图像和颜色(如首页上的图片,等等)。
我需要启动的所有站点都基于相同的API(RESTful JSON),我需要能够轻松地集成表单以进行搜索,排序和过滤 - 因此模板引擎必须允许轻松与变量整合......
您认为哪种解决方案符合这些要求?
答案 0 :(得分:6)
您还可以查看Twig。以下是有关它的更多信息以及它与其他信息的比较:http://fabien.potencier.org/article/34/templating-engines-in-php
答案 1 :(得分:3)
简单 - > Symfony
使用非常简单的模板引擎 - 并且易于学习,因为他们的文档太棒了
答案 2 :(得分:1)
槽糕。使用包和模板库“扩展”设置codeigniter 2,将模板文件放在一个单独的存储库中,并将它们作为每个“子站点”的包加载。如果您仔细定义您的区域,那么您应该做的就是:)
答案 3 :(得分:1)
如果不是框架而是模板引擎,除了使用Smarty进行模板化之外我什么也想不到。它易于使用且非常灵活。您可以创建一个主模板,例如main.tpl
只需为每个网站分配所需的值,就可以反复使用该模板并重复使用该模板,例如index.php(某些网站):
$smarty->assign(array(
'PageTitle' => 'Some site title'
'CustomContent' => $smarty->fetch('custom.tpl'); // custom for this site
));
// of course you've setup the template location at this point
$MainTemplate = $smarty->fetch('main.tpl');
$smarty->display($MainTemplate);
在main.tpl
上你会有类似的内容:
// on main.tpl you'd have
<title>{$PageTitle}</title>
......
<body>
{$CustomContent}
</body>
只是一个想法:)
答案 4 :(得分:1)
Zend Framework并将不同的“网站”设置为模块可能是一个很好的方法,如果它们共享很多逻辑等。每个模块都可以有一个独特的布局。
Zend Framework允许您使用MVC模式,并可以轻松地分离逻辑和表示。您可以在http://framework.zend.com/
找到更多信息答案 5 :(得分:1)
我建议http://agiletoolkit.org/出于以下原因:
Agile Toolkit是开源的。
我希望这些信息可以带来一些新的见解,并从不同的角度看待发展。我积极地使用框架,文档在这个时候正在完成并且正在构建中,但是该架构非常有前景,并且只需要知道一些PHP和面向对象的编程技能。