如何在叠加层中显示内容?


18

我想显示一些内容,这些内容是通过叠加或弹出窗口从AJAX调用返回的。

您对我该怎么做有任何想法吗?

Answers:


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()添加自定义javascript文件
  • 在您的自定义javascript文件中,绑定您选择的事件,并使lightbox插件从hook_menu()中的URL加载外部内容

如果愿意,可以始终使用钩子菜单使用drupal_json()以JSON形式返回内容,并将其作为内联html添加到灯箱中,而不用引用外部文件。



2

要在overlay(popup)中显示整个页面的内容,请使用overlay_path模块。

安装该模块,并在配置中添加您需要显示为叠加(弹出)页面的URL。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.