2012-04-08 6 views
1

私はノードのリストである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(); 
    } 

誰もが各ノードに対して個別のノードIDを認識javascriptのjqueryのを作るためになぜか知っていますか?

もっと良い方法がありますか?

答えて

関連する問題