2011-06-02 206 views
0

所以我有一个HTML页面,我想拆开并以更开发友好的方式放入我的网站。我正在使用iframe,但现在我决定将它集成到我的.tpl文件中。对于我的生活,我无法弄清楚如何在.tpl中包含一个自定义的js文件其他文件包含的方式是在一个php文件中,但这只是包含配置文件。我设法把.tpl中的HTML放在正确的位置,我需要的最后一部分就是javascript。我相信问题是JS使用Jquery,所以我需要包含该库,但我似乎无法使其工作。有任何想法吗?我用文字和没有任何工作....如何在.tpl中包含自定义JS(JQuery)文件?

我可以reqeust

+0

我请你提供例子。 – Petah 2011-06-02 00:53:27

+0

你使用的是什么模板引擎?或者你只是有一个str_replace()方法?无论哪种方式,我不明白你为什么不能编辑模板文件。或者添加你想要的JS代码,或者添加一个PHP脚本可以提取的参考点。 – 2011-06-02 00:55:31

+0

@ Battle_707为什么不把它作为答案?从“无论哪种方式”开始,添加一些细节 – SinistraD 2011-06-02 01:14:30

回答

1

所以我设法解决它,我在模板文件和PHP文件中使用我包括配置,然后根据该$(文件)。就绪(功能(){});

0

当你说“太平人寿”你说的是Smarty的模板,我怀疑提供代码示例。 (这是比“tpl”更受欢迎的标签)

理想情况下,应该设置现有的模板系统,以便有一些约定(例如{capture})或其他一些设施(如plugin)可让您以“追溯”将<script type="text/javascript" src="xxx.js"></script>置于文档的<head>中。

但是,您也可以将<script></script>标签放入页面正文中。

如果你想直接直接进入JavaScript中,你几乎肯定会需要的Smarty {literal}保护,但这只是因为否则的Smarty会爆炸试图处理所有JavaScript的{},如果他们是直接的TPL文件中。

0

根据您的模板引擎,您可以直接在代码中直接编辑您的模板文件,或者您可以放入一个参考点,然后您的模板引擎可以启动。

如果脚本需要在运行该模板文件时在所有页面上运行,则可以直接将javascript代码放入模板文件中。这里有一些主要的未知数,所以你应该总是回头看看你的模板引擎的支持;例如,如果代码需要在头文件中运行,那么您的引擎可能有专门的方法来注入代码。将代码直接放入模板文件的好处是,如果您愿意,每次都不会浪费任何额外资源“模板化”。

如果您只想在特定页面上运行脚本,但不仅仅是那些页面使用该模板文件,您需要向模板文件添加一个锚点,然后编辑您的PHP脚本以将其放入/根据您的需要忽略锚点。锚,惊喜,惊喜,与不同的模板引擎强烈不同。正如达里安指出的那样,Smarty将接受用花括号划定的锚,但这对你的情况可能不起作用。如果模板文件已加载并且页面不应该使用该脚本,请确保删除您的php脚本中的锚点。所以,你的PHP应类似于此:

if ($onRightPage) { 

    // Call engine function to add in the script 

} else { 

    // Call engine function to remove the anchor 

}