오버레이에 컨텐츠를 표시하는 방법


18

오버레이 또는 팝업으로 AJAX 호출에서 반환 된 일부 내용을 표시하고 싶습니다.

내가 어떻게 할 수 있는지에 대한 아이디어가 있습니까?

답변:


8

Drupal 7을 사용하는 경우 사용자 정의 모듈과 함께 관리 오버레이를 사용할 수 있습니다.

CUSTOM_MODULE_NAME_HERE.module 파일에 3 개의 후크가 필요합니다.

/**
 * Implements hook_menu().
 */
function CUSTOM_MODULE_NAME_HERE_menu() {
  $items = array();
  $items['your/path/to/your/page'] = array(
     'page callback'    => 'CUSTOM_MODULE_NAME_HERE_page',
     'access arguments' => array('access content'),
     'type'             => MENU_NORMAL_ITEM,
  );
  return $items;
}

/**
 * Implements hook_admin_paths_alter().
 */
function CUSTOM_MODULE_NAME_HERE_admin_paths_alter(&$paths) {
    $paths['your/path/to/your/page'] = TRUE;
}

/**
 * page callback
 */
 function CUSTOM_MODULE_NAME_HERE_page(){
    $output = 'your page content';
    return $output;
}


3

가장 쉬운 방법은 다음을 수행하는 간단한 사용자 정의 모듈을 구현하는 것입니다.

  • hook_menu ()를 구현 하고 사용자 정의 페이지 콜백을 정의 합니다
  • 페이지 콜백에서 원하는 내용을 반환
  • 좋아하는 jQuery 라이트 박스 플러그인 포함 (Drupal 모듈 또는 직접)
  • drupal_add_js () 를 통해 커스텀 자바 스크립트 파일 추가
  • 맞춤 자바 스크립트 파일에서 선택한 이벤트를 바인딩하고 라이트 박스 플러그인이 hook_menu ()의 URL에서 외부 콘텐츠를로드하도록합니다.

원하는 경우 후크 파일이 drupal_json ()을 사용하여 JSON 형식으로 콘텐츠를 반환하도록 하고 외부 파일을 참조하는 대신 라이트 박스에 인라인 html로 추가하도록 할 수 있습니다.


2

디스플레이 노드에서 팝업 창 으로이 작업을 수행하는 매우 쉬운 방법 : 이런 종류의 솔루션에는 많은 솔루션이 있습니다. 테마 레이어에서 정말 가벼운 것을 원합니다. 이를 위해 다양한 팝업 모듈을 사용할 수도 있습니다. 이를 수행하는 간단한 방법 중 하나는 Lightbox2 모듈을 사용하는 것입니다.이 설명서 페이지를 확인하십시오. http://drupal.org/node/252260


2

오버레이 (팝업)에 전체 페이지 내용을 표시하려면 overlay_path 모듈을 사용 하십시오 .

모듈을 설치하고 구성에서 오버레이 (팝업)로 표시 해야하는 페이지의 URL을 포함하십시오.


0

여기에 언급 된 것처럼 간단한 jquery와 CSS를 사용 하고 ajax로 외부 페이지를로드 할 수 있습니다 .


이봐 친구, 답장을 보내 주셔서 감사합니다 .. 그러나 나는 이미 이것을 시도했습니다 ..하지만 몇 가지 문제가 있습니다 .. 그래서 다른 대안을 찾고 있습니다 .. !!
Sameer

1
이를 수행하는 올바른 방법은 가능한 경우 핵심 오버레이 API를 사용하는 것입니다.
Sivaji

바트에 전적으로 동의합니다. 이 사이트는 다음 위치로 이동 했을 수 있습니다 : jquerytools.org/documentation/overlay .
Sk8erPeter

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.