我有一个 Drupal 视图,它是一个节点列表。在 head 部分有一个包含 Jquery javascript 的 node-type.tpl.php。单击任何节点中的链接应加载引用单击节点的新 ajaxed 视图。我正在使用 ajax 通过将原始节点作为节点引用参数的 hook_menu 路径加载新视图。不幸的是,此单击当前仅加载引用到列表中第一个节点而不是单击的节点的视图。无论我单击哪个节点,我都只会获得引用列表中第一个节点的视图。我不明白为什么 javascript 没有为参数发送正确的节点 ID。这是 node-type.tpl.php 的 head 部分中的代码
<script>
Drupal.behaviors.myajax = function(context) {
$(".ajaxclick").click(function(){
<?php $mynid = $node->nid;?>
var mynodeid = <?php echo $mynid ?>;
$(".holder").load(Drupal.settings.basePath + "myajax/" + mynodeid);
});
}
</script>
并在体内;
<a class="ajaxclick" href= "#">Click me</a>
<div class="holder"></div>
这是模块中的 hook_menu 代码:
<?php
function ajaxview_menu() {
$items = array();
$items['myajax'] = array(
'title' => 'My Ajax',
'page callback' => 'ajaxview_myajax',
'description' => 'Ajax View',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function ajaxview_myajax($nid) {
$node = node_load($nid);
print '<div class="rightcolumn">';
print $viewName = 'Comments';
$display_id = 'default';
$myArgs = $nid;
print views_embed_view($viewName, $display_id, $myArgs);
print '</div>';
exit();
}
任何人都知道为什么如何让 jquery javascript 识别每个节点的单独节点 ID?
或者,还有更好的方法?