[英]Apache Velocity and adding JavaScript
请原谅我,因为我以前从未使用过Apache Velocity,但我必须弄清楚这一点!
我正在为产品使用Adobe推荐模板,现在正在向其中添加星级评分系统,如下图所示:
但是,如您所见,我添加的逻辑(在JS中)仅在第一次执行。 并且显然不在循环中运行,因为它处于“速度”状态。
我对社区的问题是; 我该如何进行这项工作?
我已经尝试了一天,但无济于事,因此不胜感激。
请参见下面的代码! (谢谢!)
[#foreach循环是速度,脚本标签之间的所有内容都是我的附加代码]
<div class="line">
<h2>More for You</h2>
#set($count=1)
#foreach($e in $entities)
#if($e.id != "" && $count < $entities.size() && $count <=18)
<li>
<script type="text/javascript">
var myString = $e.rating;
if (myString >= 5) { myString = 5;}
var myRegexp2 = /\d(?!.*\d)/;
var match2 = myRegexp2.exec(myString);
var starIMG = "<img src='http://kirklands.ugc.bazaarvoice.com/3768-en_us/" + match + "_" + match2 + "/5/rating.gif' alt='' />";
var myRegexp3 = /\d/;
var match = myRegexp3.exec(myString);
function myFunction() {
return(match);
}
</script>
<a class="productBlock" onclick="var s = s_gi(s_account);
s.linkTrackVars='events,eVar21';
s.linkTrackEvents='event16';
s.events='event16';
s.eVar21='';
s.tl(this,'o','Product Detail Cross-Sell');" href="$e.pageUrl?icid=hpFS ">
<img title="$e.name" alt="$e.name" src="$e.thumbnailUrl">
<h3>$e.name</h3>
<div id="starRating"><script>document.getElementById("starRating").innerHTML =
starIMG;</script></div>
<p>$$e.value</p>
</a>
</li>
#set($count = $count + 1)
#end
#end
</ul>
</div>
<div class="scroolBtn btnRight"><span class="btn" id="scrool-forward"></span></div>
</div>
jQuery(function(){jQuery('#scrool')。scrollbox({direction:'h',switchItems:3,distance:450,autoPlay:false}); jQuery('#scrool-backward')。click(function (){jQuery('#scrool')。trigger('backward');}); jQuery('#scrool-forward')。click(function(){jQuery('#scrool')。trigger('forward' );});});
我已经好几年没有使用Velocity模板脚本了,但是疯狂的猜测是一个不可避免的问题。 速度模板中包含的所有内容实际上都是由Velocity引擎运行的,必须转义$ variable文字。
http://velocity.apache.org/engine/devel/user-guide.html#escapingvalidvtlreferences
编辑不等待,您的意思是您想在服务器端运行javascript代码,每个foreach项目步骤都应评估javascript代码?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.