Drupal Overlay 应用到指定页面2种方法

 

方法一 加入到 admin_paths

应该说是这个方法是最快的,在一个模块中重新定义其在hook_menu定义的菜单项到hook_admin_paths_alter()来实现。那些路径属于admin_path的,即用来决定哪些页面将被呈现为Overlay叠加层样式。模块应要求Overlay模块的依赖,以确保其他页面都作为有效覆盖渲染。

你可以让其他模块定义的页面作为管理页面。

 代码如下 复制代码

function mymodule_admin_paths_alter(&$paths) {
  $path['node/*'] = TRUE;
  $path['node/*/view'] = TRUE;
  $path['node/*/backlinks'] = FALSE;
}

通常情况下,每个模块实现hook_admin_paths()来设置他们自定义的菜单项是管理页面,这意味着,一个网页是不是一个管理页面,该页面的路径不会被添加到返回的数组。

hook_admin_paths() 是在您自己的模块中定义的菜单项执行,重新定义时,从其他模块中定义的菜单项管理页面,你需要用hook_admin_paths_alter() 来实现。

即定义当前模块中定义的页面是否为管理页面:

 代码如下 复制代码

function hook_admin_paths() {
  $paths = array(
    'mymodule/*/add' => TRUE,
    'mymodule/*/edit' => TRUE,
  );
  return $paths;
}

方法二 使用Overlay Paths
您也可以使用Overlay Paths模块。它是一个简单的模块。使管理员能够使用非管理页面到Overlay叠加层中。这意味着您可以复用Overlay作为弹出窗口而不用添加更多的JavaScript库到您的网站来实现类似的Modal功能。

使用Overlay Paths定义的API作为钩子即可实现:

 代码如下 复制代码

/**
 * Implement hook_overlay_paths().
 */
function mymodule_overlay_paths() {
  $paths = array(
    'user' => TRUE,
  );
  return $paths;
}

这样,网站实现弹出框的效果就使用Drupal自带的Overlay就行了,赶紧试试吧。

时间: 2024-10-16 06:53:14

Drupal Overlay 应用到指定页面2种方法的相关文章

java 生成html页面二种方法

第一种方法相对很简单就是利用java去访问以jsp教程结束的动态页面,然后获取其由服务器传下的html页面进行保存,这样适合于少数的页面更新,不适合大批量的如新闻系统更新了,我们就可以利用第二种方法了. package com.tgdh.project.util; import java.io.fileoutputstream; import java.io.ioexception; import java.io.inputstream; import java.io.outputstream;

WordPress用户登录登出后重定向到指定页面的实现方法

一.重定向到网站管理面板. 将以下代码添加到您的当前主题的 functions.php 文件中: PHP Code 1. function soi_login_redirect($redirect_to, $request, $user)   2.{   3.    return (is_array($user->roles) && in_array('administrator', $user->roles)) ? admin_url() : site_url();   4.

php curl 抓取页面几种方法介绍

是把PHP的主页取回放到一个文件中. 例 1. 使用PHP的CURL模块取回PHP主页  代码如下 复制代码 <?php  $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, "http://localhost/mytest/phpinfo.php");  curl_setopt($ch, CURLOPT_HEADER, false);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //

js跳转页面几种方法总结

  js为我们提供了大量的跳转页面的命令了,下面我来给大家总结一些常用的js跳转页面方法,希望各位同学有所帮助. 第一种: 代码如下 window.location.href='http://www.45it.net/'; 第二种:跳到前一个历史记录 代码如下 window.history.back(-1); 第三种: 代码如下 window.navigate("http://www.45it.net"); 第四种: 代码如下 self.location='http://www.45i

javascript删除数组中指定元素几种方法

删除数组指定的下标:  代码如下 复制代码 HTML code<script> var arr = ['a','b','c','d','e']; function arr_del(d){     return arr.slice(0,d-1).concat(arr.slice(d)); } alert(arr_del(3)); // a,b,d,e </script> /* * 删除数组指定下标的元素. */    代码如下 复制代码 Array.prototype.remove

javascript中跳转页面几种方法总结

第一种: window.location.href='http://www.111cn.net/'; js代码  代码如下 复制代码 <script language="javascript" type="text/javascript">           window.location.href="login.jsp?backurl="+window.location.href;     </script> 第二种:

ASP.NET页面间数据传递的9种方法

本文我们将讨论的是ASP.NET页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. 0.引言 Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种

用ASP让用户访问指定页面

一个网站有许多页面,如果用户知道某个页面的链接,可以在浏览器中直接输入url访问它.但这在一个要求有安全性的站点上是不允许的.我们要求用户必须登录以后才能访问各级页面,有时也确实希望用户总是先看到站点的主页.这两种要求可以通过在asp的global.asa中对session对象编程来实现. 1.用户必须从主页开始浏览 如果仅希望用户每次上站都先访问站点主页,可以在session的session_onstart事件中加入response.redirect "url"来实现.例如在glob

用PHP程序实现支持页面后退的两种方法

用PHP程序实现支持页面后退的两种方法 在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现. 第一,使用Header方法设置消息头Cache-control header('Cache-control: private, must-revalidate');  //支持页面回跳 第二,使用session_cache_limiter方法 //注意要写在session_start方法之前session_cache_limiter('private