如何在smarty模板中插入javascript上的php代码


How to insert code php on javascript in smarty template

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

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

in.tpl

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

如何修复?

您的{不能作为智能代码工作,因为您在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>

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

您可以通过以下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>