【问题标题】:Drupal view with Jquery in the head of node-tpl.php using only the first $node->nid variable仅使用第一个 $node->nid 变量在 node-tpl.php 的头部使用 Jquery 的 Drupal 视图
【发布时间】:2012-04-08 00:45:08
【问题描述】:

我有一个 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 吗?

或者有更好的方法吗?

【问题讨论】:

    标签: jquery drupal views


    【解决方案1】:

    我遇到了同样的问题,最后得到了@William Tate 的帮助

    解决方案:

    $('.up2').click(function() {
        $(this).closest('.up2').find('.nummer_dark').text();
    }
    

    我的问题: Drupal 7 + jQuery, how to get jQuery to interact only with the active node (via nid) and not every node in the list

    【讨论】:

      猜你喜欢
      • 2016-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多