【问题标题】:Smarty generate script tag with empty srcSmarty 生成带有空 src 的脚本标签
【发布时间】:2018-06-21 11:47:20
【问题描述】:

我正在使用 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
出了什么问题,我该如何解决这个问题?

【问题讨论】:

    标签: php prestashop smarty prestashop-1.6 html-validation


    【解决方案1】:

    您必须添加另一个条件

    {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}
    

    【讨论】:

    • 您必须清除 PrestaShop 和浏览器缓存。还将 {if $js_uri} 更改为 {if file_exists($js_uri)} 以获得更多确定性
    猜你喜欢
    • 1970-01-01
    • 2021-06-26
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 2017-10-24
    相关资源
    最近更新 更多