如何在智能模板中的JavaScript上插入代码php

时间:2014-10-14 10:12:17

标签: javascript php smarty

我有一个示例代码: 在.php

STemplate::assign('image', 'test.png');

在.tpl

{literal}
<script type="text/javascript">
var image_src = {$image};
alert(image_src);
</script>
{/literal}

如何解决?

2 个答案:

答案 0 :(得分:3)

您的{无法使用智能代码,因为您位于literal区块中。你可以像这样突破它:

{literal}
    <script type="text/javascript">
        var image_src = '{/literal}{$image}{literal}';
        alert(image_src);
    </script>
{/literal}

或者,由于您未在javascript中使用{,请执行此操作

    <script type="text/javascript">
        var image_src = '{$image}';
        alert(image_src);
    </script>

我还添加了一些我认为你需要的'

答案 1 :(得分:0)

您可以通过3种方式解决问题

1

{literal}
    <script type="text/javascript">
        function myFunc(){
            var image_src = {/literal}{$image}{literal};
            alert(image_src);
        }
    </script>
{/literal}

2

<script type="text/javascript">
        function myFunc(){ldelim}
            var image_src = {$image};
            alert(image_src);
        {rdelim}
</script>

3

<script type="text/javascript">
  var myImage = {$image}
  {literal}
        function myFunc(){
            var image_src = myImage;
            alert(image_src);
        }
  {literal}
</script>