2014-11-17 1 views
1

나는 퀵팔에서 Drupal 7 &을 사용하고 있습니다. 코드에서 퀵탭을 만들려고합니다. 후크 메뉴를 사용하여 테스트 URL을 만들었다 고 가정 해 보겠습니다. 테스트 기능에서 프로그래밍 방식으로 빠른 탭 만들기 drupal

$items['MyModule/test'] = array(
     'title' => 'Test Tabs', 
     'type' => MENU_CALLBACK, 
     'page callback' => 'test', 
     'page arguments' => array(2), 
     'access arguments' => array('access content') 

    ); 

, 위의 코드를 사용하여

function test(){ 

    $name = "Test tabs"; 
    $settings = array(
     'ajax' => 0 , 
     'hide_if_empty' => 1, 
     'default_tab' => 0, 
     'title' => 'Test quicktabs', 
     'rendered' => 'quicktabs', 
     'style' => 'Basic', 
    ); 
    $custom_tabs = array(
     array(
      'title' => 'Test tab1', 
      'path' => 'test-tab1', 
      'contents' => "Test tab1", 
      'weight' => 0 
     ), 
     array(
      'title' => 'Test tab2', 
      'path' => 'test-tab2', 

      'contents' => "Test tab2", 
      'weight' => 0 
     )); 
return drupal_render(quicktabs_build_quicktabs($name, $settings, $custom_tabs)); 
} 

, 내가 성공적으로 quicktabs를 만들 수 있어요,하지만 그것은 같은 (테스트 탭 1) 두 탭 콘텐츠를 보이고있다. 콘텐츠가 변경되지 않았습니다. 캐시도 지 웠습니다. 또한 탭 경로를 수정하는 방법 ?? 위의 경로가 작동하지 않습니다. 이 같은 추악한 경로를 보여주고있다 (http:[baseUrl]/test?qt-my_custom_quicktab=3&qt-Test%20tabs=0#qt-Test%20tabs)

빠른 방법을 구현하는 더 좋은 방법이있을 수 있습니다. 후크가있을 수도 있지만 문서가 충분하지 않습니다. 누구든지 더 나은 구현 가이드 나를 아는 경우. 내 탭은 동적입니다.

답변

0

문제가 단지 추측 쿼리 문자열 ?qt-my_custom_quicktab=... 인 경우 탭 패널을 토글하는 링크의 기본 클릭 동작을 비활성화하여 JavaScript를 사용하는 것이 방지 될 수 있습니다.

예 :

jQuery(function() { 
    jQuery('#your-quicktab-link-selector').click(function(evn) { 
     evn.preventDefault(); 
    }); 
}); 
0

이것은 아주 오래된 질문이지만, (나처럼) 내가 같은 문제가 우연히 다른 사람에 대한 답변을 거라고 생각.

문제는 변수 $ name (또는 quicktabs_build_quicktabs()의 첫 번째 매개 변수)에 공백이 없어야한다는 것입니다. 따라서 다음과 같이하면 작동 할 것입니다.

$name = "Test-tabs"; 

문제는 quicktabs가 해당 문자열을 탭의 div 래퍼 ID의 일부로 할당한다는 것입니다. 공백이 있으면 javascript 코드가 올바른 탭을 숨기거나 표시하지 않습니다.

관련 문제