Smarty 生成带有空 src 的脚本标签

Smarty generate script tag with empty src

我正在使用 PrestaShop 电子商务 electromarket theme

这是生成js头文件的smarty代码

   {if isset($js_defer) && !$js_defer && isset($js_files) && isset($js_def)}
    {$js_def}
    {foreach from=$js_files item=js_uri}
    <script type="text/javascript" src="{$js_uri|escape:'html':'UTF-8'}"></script>
    {/foreach}
{/if}    

但在渲染中 HTML 它生成没有任何 src 的脚本标签

<script type="text/javascript" src="" ></script>

当我使用 w3 验证器时它给我错误:
w3 validator error
出了什么问题,我该如何解决这个问题?

您必须添加另一个条件

{if isset($js_defer) && !$js_defer && isset($js_files) && isset($js_def)}
   {$js_def}
   {foreach from=$js_files item=js_uri}
       {if $js_uri}
           <script type="text/javascript" src="{$js_uri|escape:'html':'UTF-8'}"></script>
       {/if}
   {/foreach}
{/if}