php - smarty 不应该解析 javascript 文件

标签 php javascript smarty

通过 stackoverlfow 和谷歌,我发现了很多关于这个的东西和很多提示,基本上所有的东西。因此我必须完全愚蠢才能实现这一点,但我希望我的聪明人不要解析我的 javascript。

不知何故,它正在这样做。正如文档中所述: {文字} 逃避被js解析的 block 。但是,这工作正常。 例如这个模板:http://pastebin.com/nfM1S1D8

它正常工作......但是

那些东西里写的东西从上到下完全被解析和忽略。 我可以在该文件中写 100 次 {literal},它不会对此置之不理。不仅如此。我的 jquery142min 和我的 jqueryui1812min 文件也被这个聪明的东西破坏了。我不能再使用任何 jquery 东西了:(((

有人可以告诉我如何变得聪明而不关心整个文件吗?我不打算粘贴 jqueryUI 文件只是为了表明它看起来像这样: {文字} jquery 用户界面代码 {/文字}

相信我,我试过

    $smarty->left_delimiter = '<!--{';
$smarty->right_delimiter = '}-->';

但这并不适用 - 是的,我确实删除了不存在的缓存,因为我没有缓存,是的,我确实每次都删除了编译的 View !

所以你看,我一定是太笨了,无法在这里解决这个问题,但我希望其他人对此有答案。

PS:结构和smarty代码: http://img560.imageshack.us/f/smarty.png/

@编辑: "js文件会引用调用模板的php文件来调用,路径不会根据smart y模板所在的位置,而是根据调用的php文件所在的位置。"

不适用于我,因为我可以在解析 js 文件后打开

最佳答案

我不确定你是怎么回事,但你做错了,但我会给你一些基础知识

不需要

 {literal}.... {/literal}

包含一个文件,例子

 <script type="text/javascript" src="{$prefix}js/jquery.form.2.64.js"></script>

不要在加载的 JS 文件中放置文字标签,IE 会导致您的 JAVASCRIPT 出现问题

但如果我想包括 say swfobjec iw 会这样做

{literal}
<script type="text/javascript">
    var params = { allowScriptAccess: "always", wmode: "transparent"};
    var atts = { id: "myytplayer"};
    swfobject.embedSWF("http://www.youtube.com/v/{/literal}{$youtube_id}{literal}&amp;enablejsapi=1&amp;playerapiid=ytplayer&amp;hl=en&amp;fs=1&amp;rel=0&amp;autoplay=0","ytapiplayer", "689", "400", "8", null, null, params, atts);
</script>
{/literal}

您不获取文件的输出会像这样更改您的 phtml 分配

 $smarty->assign('bodyCnt',$smarty->fetch(APPLICATION_PATH . DS . "view" . DS  .$controller . DS . $action . ".tpl"));

请注意,我将文件名更改为“.tpl”,您的 tpl 文件中不应该有任何 php,这些文件中应该只有 html 和 smarty

如果你得到的是一个空白页面,那么有几件事情可能会发生

  1. 你的 PHP 文件有语法错误...验证你的 php
  2. 你没有给 smarty 一些或所有模板文件的正确位置

    $smarty->display('index.tpl'); // will display a tpl file 
    

关于php - smarty 不应该解析 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5811314/

相关文章:

php - 将表条目实时更新到数据库 SQL PDO AJAX

javascript - 你将如何在 React 中的组件之间传输数据?

javascript - 如何浏览目录服务器计算机而不是本地计算机

smarty - smarty中如何显示有限的字符?

error-handling - 在以下情况下如何在smarty模板中使用变量?

php - 选择 * 到日期时间为 24 小时前的表

php - laravel file_get_contents ('php://input')不工作

php - Smarty:是否可以在模板中调用 PHP 函数(从 Controller 类)?

php - 警告 : Cannot use a scalar value as an array in include()

javascript - 设置 Sails js View 扩展不起作用