我正在使用Drupal 7而我正在尝试加载ajax tpl文件。
我有一个包含几张照片缩略图的页面,当我点击一张照片时,它必须出现在前景中(包含PHP中的信息和功能)
网站的所有页面通常都会加载js和css文件。
所以我决定创建一个hook_menu然后在回调函数中通过hook_theme返回一个主题,最后我使用ajax来显示它。 (见我的帖子:Drupal 7 - get variables from hook_theme)
1。这是我的缩略图:
<div class="thisPhoto">
<a href="javascript:;">
<img src='<?php print image_style_url("pict_small", $content["field_photo"]); ?>'
data-nid = <?php print $content['nid'] ?>
data-logged-in = <?php print $logged_in ?> />
</a>
</div>
2。这是我在JS中的方法
$("#photos-block").on('click', ".thisPhoto", function(e) {
var nid = $(this).find("img").attr("data-nid");
var logged_in = $(this).find("img").attr("data-logged-in");
$("#main-content").load("http://example.org/example/fancybox-photos/"+nid+"/"+logged_in, function(responseTxt, statusTxt, xhr) {
if(statusTxt == "success")
console.log("External content loaded successfully!");
if(statusTxt == "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
});
});
当我第一次点击所有我的JS文件都加载到ajax和我的tpl中但问题是在第二次单击时我的tpl立即加载但是所有这些脚本文件都被加载两次然后在第三次三次等....
我不明白为什么会这样做。
如果有人有想法?