¿Cómo puedo verificar si la página actual se encuentra en la sección de administración de drupal ?. Quiero mostrar un formulario de inicio de sesión en algunas páginas del menú principal, pero la página de inicio de sesión se muestra en el menú de selección de bloque. Sugiera una solución.cómo comprobar si el usuario está en la parte de administración de drupal?
Respuesta
Para Drupal 7 puede usar path_is_admin().
if (path_is_admin(current_path())) {
// Do stuff.
}
Para Drupal 8 isAdminRoute()
$is_admin = \Drupal::service('router.admin_context')->isAdminRoute();
if ($is_admin) {
// Do stuff.
}
No entiendo completamente su objetivo final, pero aquí hay dos respuestas a su pregunta:
1) if (arg(0) == 'admin') { ... }
indicará si alguien está en la sección de administración, ya que toda la sección de administración tiene caminos prefijados con admin/
2) en admin/settings/admin/tema que puede seleccionar un tema separado para la sección de administración, y luego sabrá que alguien está en administración cuando ese tema se está cargando en lugar del tema principal.
gracias por la respuesta, el tema extremo frontal se muestra en la sección de gestión de bloque a pesar de que tengo un tema aparte seleccionado para los section.i administrador desea mostrar el tema de administración para cada eslabones de la sección de administración. –
No estoy seguro de cuál es tu objetivo final. ¿Más explicación?
Si está buscando el camino, Scott Reynen's # 1 debería hacer el truco.
Drupal 6 también tiene una variable predeterminada, $ is_admin. Esto será VERDADERO si el usuario actual tiene acceso de administrador. La comprobación de esta variable podría ser útil. Para obtener más información, consulte aquí: http://api.drupal.org/api/drupal/modules--system--page.tpl.php/6
Para su pregunta de seguimiento, el tema del front-end SIEMPRE se muestra en admin/build/block. Este es el comportamiento correcto y esperado, ya que mientras mueve bloques y los asigna a secciones de tema, querrá saber a dónde van en el tema que está configurando. Si tiene varios temas habilitados, intente hacer clic en la configuración de un tema diferente (fila secundaria) mientras está en admin/build/block. Verás a qué me refiero.
Para la primera pregunta que deben hacer las soluciones anteriores .... al llegar al segundo, parece que desea agregar el bloque de inicio de sesión al centro (es decir, el contenido principal) de la página y solo eso también en algunas páginas ... si este es el caso, debe ir a la página de configuración de bloques y configurar el bloque "Inicio de sesión de usuario" en el lugar deseado en la página y hacer clic en guardar. Luego, de nuevo haga clic en configurar al lado del bloque y obtendrá las opciones para configurar los ajustes como "en qué páginas debe mostrarse este bloque" ... etc..etc ..
Para Drupal 6: @timmy y @ Scott Reynen - arg (0) y substr ($ _ GET [ 'q'], 0, 5) es igual a 'admin' se perderán algunos patrones. El siguiente código obtiene todas las URL de la página de administración en mi sitio, su sitio puede tener más o menos.
$arg = arg();
$isAdminPage = ($arg[0] == 'admin' || $arg[2] == 'edit' || $arg[0] == 'user' || $arg[2] == 'workflow' || $arg[2] == 'statistics');
if ($isAdminPage) {
// do admin stuff
}
- 1. ¿Cómo comprobar si un usuario está logged_in en un sitio de Drupal a través de JavaScript?
- 2. comprobar si un usuario ya existe en Drupal
- 3. Javascript: comprobar SI la página está en la parte superior
- 4. ¿Cómo comprobar si el usuario está conectado a internet wp7?
- 5. Drupal/Ubercart Comprobar si un determinado producto está en el carro en la caja
- 6. ¿Cómo comprobar que el usuario está "conectado"?
- 7. módulo de Drupal, comprobar si el tipo de nodo
- 8. Cómo comprobar si la barra de desplazamiento está en la parte inferior
- 9. Drupal: utilizar boostrap para comprobar que el usuario que ha iniciado sesión fuera de Drupal no está trabajando
- 10. ¿Cómo comprobar si javascript está deshabilitado?
- 11. Cómo comprobar si el valor está en la lista
- 12. ¿Cómo comprobar si Suhosin está instalado?
- 13. ¿Cómo comprobar si el usuario está visitando la URL raíz del sitio?
- 14. ¿Cómo comprobar si UITextFields está vacío?
- 15. ¿Cómo comprobar si la matriz está en la lista?
- 16. ¿Cómo comprobar si el nombre de la cuenta de usuario de Windows existe en el dominio?
- 17. Uso de sesiones de vaso para comprobar si el usuario está autenticado en Pyramid
- 18. Comprobar si el cronómetro está funcionando
- 19. ¿Cómo comprobar si un control de usuario está delante de otros en C#?
- 20. ¿Cómo comprobar si el socket está cerrado en Boost.Asio?
- 21. VBA Comprobar si la variable está vacía
- 22. Cómo comprobar si un elemento está en la vista del usuario con jquery
- 23. Cómo comprobar si el seguimiento de cambios está habilitado
- 24. ¿Cómo puedo comprobar si la vista de desplazamiento está rebotando?
- 25. ¿Cómo comprobar si la conexión de TcpClient está cerrada?
- 26. Cómo comprobar si el compilador JIT está desactivado en Java
- 27. cómo comprobar si el campo de archivo está vacío?
- 28. Comprobar si el usuario está cerca de punto de control de ruta con GPS
- 29. ¿Cómo comprobar si el objeto JSON está vacío en Java?
- 30. ¿Cómo comprobar si el objeto JSON está vacío en PHP?
Y puede usarlo así: if (path_is_admin (current_path())) { // Hacer cosas. } –
Gracias He actualizado la respuesta con su ejemplo. – gagarine