渲染时,我的车把模板会自动终止

时间:2019-05-15 14:59:59

标签: javascript php handlebars.js

我正在定义车把模板。呈现后,会在模板中的任何结束标记之前自动添加一个结束标记,这会使我的模板被视为纯文本。

如果您查看此页面: https://www.locaboat.com/tarifs/

例如: {{myVariable}}显示为{{myVariable}}

我已经检查过,并且没有任何标签保持打开状态。 甚至很奇怪,如果我在结束标记之前添加了一个反斜杠,它会继续正确解释车把,但当然不能正确显示

例如: {{myVariable}}显示为{{myVariable}}

在PHP版本5.6.40,UTF-8服务器上工作

<script id="offer-template-<?php echo $shortcode_id;?>" type="text/x-handlebars-template">
    <div class="col-lg-4 col-md-6 api-item date price" data-date="{{date}}" data-price="{{price}}" data-image="{{image}}" data-api-id="{{boat_id}}">
        <div class="card mb-4">
            <div class="card-header">
                <div class="card-img-top"><img src="{{image}}"></div>
                <div class="discount"><span class="h-rounded">-{{percent_discount}}%</span></div>
            </div>

现在,输出将我的车把模板的其余部分显示为纯文本,在此处应解释为模板,与以下页面相同:https://www.locaboat.com/offres-speciales/

1 个答案:

答案 0 :(得分:0)

您对页面上依赖项的加载顺序有疑问。我完全看不到此页面的源代码中导入了jQuery,但它似乎正在运行。也许它是作为18-24: 1, 25-35: 5, 36-45: 89, 46+ : 84 或其他插件的依赖项而来的。无论如何,您需要确保在 车把之前将其导入。

在脚本标签中,您使用kinetic作为$的别名,但是如果打开控制台并键入'$',则会看到它是未定义的(而如果键入使用“ jQuery”,您可以按预期获得函数定义。)

由于jQuery似乎可以在页面上正常工作,因此您可能只需要替换以下内容:

jQuery

与此:

var offer_source = document.getElementById("offer-template-44").innerHTML;

或者,如果不起作用,请尝试$.noConflict();

相关问题
最新问题