ฉันจะแสดงเนื้อหาในโฆษณาซ้อนทับได้อย่างไร


18

ฉันต้องการแสดงเนื้อหาบางส่วนส่งคืนจากการโทร AJAX ในภาพซ้อนทับหรือป๊อปอัป

คุณมีความคิดเกี่ยวกับวิธีที่ฉันสามารถทำได้หรือไม่?

คำตอบ:


8

หากคุณกำลังใช้ Drupal 7 คุณสามารถใช้การซ้อนทับของผู้ดูแลระบบด้วยโมดูลที่กำหนดเอง

คุณจะต้องมี 3 hooks ในไฟล์ CUSTOM_MODULE_NAME_HERE.module ของคุณ:

/**
 * 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 lightbox ที่คุณชื่นชอบ (ผ่านโมดูล Drupal หรือด้วยมือ)
  • เพิ่มไฟล์จาวาสคริปต์ที่กำหนดเองผ่านdrupal_add_js ()
  • ในไฟล์จาวาสคริปต์ที่กำหนดเองของคุณผูกเหตุการณ์ที่คุณเลือกและทำให้ปลั๊กอิน Lightbox โหลดเนื้อหาภายนอกจาก URL ใน hook_menu ของคุณ ()

หากคุณต้องการคุณสามารถให้เมนู hook ของคุณคืนเนื้อหาในรูปแบบ JSON โดยใช้drupal_json ()และเพิ่มเป็น html แบบอินไลน์ไปยัง lightbox แทนที่จะอ้างอิงไฟล์ภายนอก


2

วิธีที่ง่ายมากในการทำสิ่งนี้จากDisplay node เป็นหน้าต่างป็อปอัพ : มีวิธีแก้ปัญหามากมายสำหรับสิ่งของประเภทนี้ ฉันจะทำมันในเลเยอร์ของชุดรูปแบบเพื่อให้มีแสง คุณยังสามารถใช้โมดูลป๊อปอัปที่หลากหลายสำหรับสิ่งนี้ วิธีง่ายๆในการทำเช่นนี้คือใช้โมดูล Lightbox2 ชำระเงินที่หน้าเอกสาร: http://drupal.org/node/252260


2

หากต้องการแสดงเนื้อหาทั้งหน้าในโอเวอร์เลย์ (ป๊อปอัพ) ให้ใช้โมดูลoverlay_path

ติดตั้งโมดูลและในการกำหนดค่า u รวม URL ของหน้าเว็บที่คุณต้องการแสดงเป็นภาพซ้อนทับ (ป๊อปอัพ)


0

คุณสามารถใช้ jquery และ css แบบง่าย ๆ ดังที่กล่าวไว้ที่นี่และโหลดหน้าภายนอกโดย ajax


เฮ้เพื่อนขอบคุณสำหรับการตอบกลับของคุณ .. แต่ฉันได้ลองแล้วกับเรื่องนี้ .. แต่มีปัญหาบางอย่าง .. ดังนั้นฉันกำลังค้นหาทางเลือกอื่น ๆ .. !!
Sameer

1
วิธีที่ถูกต้องในการทำเช่นนี้คือการใช้ Core Overlay APIs หากมี
Sivaji

ฉันเห็นด้วยกับบาร์ตทั้งหมด บางทีเว็บไซต์นี้ได้ย้ายมาที่นี่: jquerytools.org/documentation/overlay
Sk8erPeter

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.