我正在定义车把模板。呈现后,会在模板中的任何结束标记之前自动添加一个结束标记,这会使我的模板被视为纯文本。
如果您查看此页面: 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/
答案 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();