2012-03-31 2 views
0

지금은 특정 유형의 노드를 만들기위한 사용자 정의 프런트 엔드 인터페이스를 통합하는 Drupal 사이트가 있습니다. 이 사용자 정의 '인터페이스'영역은 노드 작성 페이지의 맨 위에 임베드됩니다.Drupal CCK 필드 및 JQuery 대화 상자

노드의 CCK 필드는 필드 그룹 모듈을 사용하여 함께 그룹화됩니다. 사용자가 버튼을 누를 때 나는 JQuery와 대화에 Fieldgroup를 끌어 다음 코드를 사용하고 있습니다 :

var options = { 
    dialogClass: 'customDialog', 
    autoOpen: false, 
    draggable: false, 
    modal: true, 
    resizable: false, 
    height: 'auto', 
    width: 'auto', 
    title: 'Configure Options', 
    show: 'fade', 
    hide: 'fade', 
    buttons: { 
      'Update': function(){    
       $(this).dialog('close'); 
     } 
    } 
}; 

// open windows 
$("#inputButton").click(function() { 
    var dlg = $('.group_input').dialog(options); 
    dlg.css('min-width', '500px').css('max-height', '300px'); 
    dlg.dialog('open'); 
}); 

모든 대화에서 A-OK로드 작동을; 그러나 사용자가 '업데이트'버튼을 눌러 대화 상자를 닫으면 CCK 필드가 새 값으로 업데이트되지 않습니다.

하나의 필드를 대화 상자에로드하면 동일한 문제가 발생하므로 필드 그룹 모듈 문제가 아닙니다. 이 문제를 해결하기 위해 노력한 요일을 검색 한 결과 아무도이 문제를 해결하지 못했다고 생각합니다. 모든 입력을 많이 주시면 감사하겠습니다.

편집 :. 나는 해결책을 가지고와 8 시간의 제한 :(

답변

0

확인을 통과하면 그것을 게시 할 예정입니다, 그래서 마침내 그것을 알아 냈 JQuery와 대화에 노드의 CCK 필드로드에 관심있는 사람들을위한 .이 닫힐 때, 양식에 다시 대화의 요소를 추가하는 경우에만 양식 값을 업데이트합니다 이것은 JQuery와 대화가 실제로로드 된 내용을 파괴하기 때문에 일이 나타납니다 다음과 같이

올바른 구현은 다음과 같습니다.

var options = { 
    dialogClass: 'customDialog', 
    autoOpen: false, 
    draggable: false, 
    modal: true, 
    resizable: false, 
    height: 'auto', 
    width: 'auto', 
    title: 'Configure Options', 
    show: 'fade', 
    hide: 'fade', 
    buttons: { 
     'Update': function(){    
     $(this).dialog('close'); 
     } 
    }, 
    **close: function(event, ui){ 
     $('#the-form-name').append($(this)); 
    }** 
}; 

// open windows 
$("#inputButton").click(function() { 
    var dlg = $('.group_input').dialog(options); 
    dlg.css('min-width', '500px').css('max-height', '300px'); 
    dlg.dialog('open'); 
}); 

다른 사람들이 같은 문제를 겪는 데 도움이되기를 바랍니다.