【问题标题】:How do I include a custom JS (JQuery) file in a .tpl?如何在 .tpl 中包含自定义 JS (JQuery) 文件?
【发布时间】:2011-06-02 00:48:19
【问题描述】:

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

我可以根据要求提供代码示例

【问题讨论】:

  • 我要求您提供示例。
  • 你用的是什么模板引擎?还是您只有 str_replace() 方法?不管怎样,我不明白为什么你不能只编辑模板文件。要么添加你想要的 JS 代码,要么添加一个你的 PHP 脚本可以使用的参考点。
  • @Battle_707 为什么不将此作为答案发布?从“无论哪种方式”开始,添加一些细节

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


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    所以我设法修复它,我在模板文件和 php 文件中使用了我的配置,然后在 $(document).ready(function(){});

    【讨论】:

      【解决方案3】:

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

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

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

      if ($onRightPage) {
      
          // Call engine function to add in the script
      
      } else {
      
          // Call engine function to remove the anchor
      
      }
      

      【讨论】:

        猜你喜欢
        • 2021-01-05
        • 1970-01-01
        • 2011-03-04
        • 2012-07-14
        • 2018-10-09
        • 2020-06-16
        • 1970-01-01
        • 1970-01-01
        • 2016-11-03
        相关资源
        最近更新 更多