3

PHP内容管理系统通常具有自己的模板引擎,无论它是smarty还是针对该CMS特定的其他自定义模板引擎。我怎么可能得到一个CMS主题在普通PHP网站上工作,而无需将网站转换为由该CMS提供支持的网站?需要什么才能使CMS模板在普通网站上正常工作

我能“教”的网站使用内容管理系统的模板引擎(仅模板引擎,而不是实际的CMS引擎及其功能)?我的问题可能不是很清楚,但我相信这里有人对模板引擎足够了解,告诉我正确的方法来做到这一点。

+0

这的确不是很清楚。你有没有一个抽象的例子?另外,请说明“主题”是什么意思。 – deceze 2010-09-30 03:31:04

+0

@jblue“主题”根据技术/项目/开发人员的不同意思。我更喜欢一个更具体的例子。 – deceze 2010-09-30 04:00:11

回答

2

如果您已经使用某个模板系统实现了一些页面,并且您希望能够在没有或几乎没有更改的情况下使用它们,则应查看Twig或启用Twig的CMS。 (Symphony项目的后代)

Twig使您能够编写自己的Lexer和Parser,您已经拥有它自己的模板语法。

这意味着,你可以使用Smarty的或Mustache语法你的模板,或者任何其他的语法,你更喜欢。

+1

如果您发现Symphony模板复杂或者您需要存储模板,则可以将Symphony与Twig一起使用。 IMO Twig更适合这一点。 – Michael 2010-09-30 03:41:33

3

它取决于它使用的CMS和模板系统。 Smarty可以很容易地在静态网站上实现,因此它可以像去除CMS位并用内容替换它一样简单。在Joomla的情况下,您可以获取模板文件并删除模块代码并将其替换为内容。

2

我一直在想你的问题过去15分钟,我不认为这可以做到不复制CMS使用的确切的主题引擎。但CMS的主题引擎仍然与CMS的API联系在一起,这意味着您需要您的网站了解CMS的API。基本上你正在把你的网站变成CMS。

P.S.我不是这方面的专家,所以也许我错了。

+2

我认为您有一个好的观点 - 您必须根据功能级别来适应CMS的API。不太容易。还取决于如何设计模块(如果存在)。 – Michael 2010-09-30 04:10:26

1

您可以保存模板出平HTML,然后将一些基本的标签来输出自己的内容,如

<div id="mainmenu"><?php echo $mainMenu ?></div> 

这样,您就可以使用主题与你自己的PHP代码。

相关问题