如何在.tpl中包含自定义JS(JQuery)文件?

时间:2011-06-02 00:48:19

标签: php javascript jquery templates task-parallel-library

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

我可以在reqeust上提供代码示例

3 个答案:

答案 0 :(得分:1)

所以我设法解决了这个问题,我在模板文件和php文件中使用了包含配置然后在那个$(文档).ready(function(){});

答案 1 :(得分:0)

我怀疑当你说“tpl”时你的意思是一个Smarty模板。 (这是比“tpl”更受欢迎的标签)

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

但是,您也可以将<script></script>标记放在页面正文中的适当位置。

如果你想直接输入javascript,你几乎肯定需要Smarty {literal}保护,但这只是因为否则Smarty会爆炸试图处理所有Javascript {和{{1如果它们直接位于tpl文件中。

答案 2 :(得分:0)

根据您的模板引擎,您可以直接在代码中直接编辑到模板文件中,也可以放入模板引擎可以接收的参考点。

如果脚本需要在运行该模板文件时在所有页面上运行,您只需将javascript代码直接放入模板文件即可。这里有一些主要的未知数,因此您应该始终使用模板引擎的支持进行检查;例如,如果代码需要在标题中运行,那么您的引擎可能有一种专用的方式来注入代码。将代码直接放入模板文件的好处是,您不会浪费任何额外的资源“模板化”,如果您愿意的话,每次都是。

如果您只想在特定页面上运行脚本,但不仅仅是那些页面使用该模板文件,您还需要在模板文件中添加一个锚点,然后编辑PHP脚本以将其放入/ ignore锚点根据您的需要。锚点,惊喜,惊喜,与不同的模板引擎有很大的不同。正如Darien指出的那样,Smarty会接受用大括号分隔的锚点,但这可能对你的情况不起作用。如果加载了模板文件并且页面不应该使用该脚本,请确保删除php脚本中的锚点。所以,你的PHP看起来应该类似于:

if ($onRightPage) {

    // Call engine function to add in the script

} else {

    // Call engine function to remove the anchor

}