it-swarm-es.com

¿Cómo oculto la página / nodo predeterminado?

Drupal viene con una página (que es la página de inicio predeterminada) que se asigna a la ruta nodo.

¿Cómo evito que los usuarios lleguen a él y los redirija a la página de inicio real del sitio?

22
wiifm

No hay una manera fácil de ocultar esa página. Si no lo usa, puede implementar hook_menu_alter () y eliminarlo por completo o establecer su devolución de llamada de acceso en FALSE.

17
Berdir

Cree un alias de ruta que redirija desde/nodo a la página que desea usar como portada.

8
kiamlaluno

Prefiero alterar la devolución de llamada de la página/nodo para que muestre un error 404 Página.
Esto siempre muestra su página 404 personalizada al acceder/nodo.

function yourmodule_menu_alter(&$items) {
    $items['node']['page callback'] = 'drupal_not_found';      
}
6
Marc Bachmann
<?php
function MY_MODULE_menu_alter(&$callbacks) {
unset($callbacks['node']);
}
?>

o agregue esto a settings.php (material entrante de URL)

<?php
function custom_url_rewrite_inbound(&$result, $path, $path_language) {
  if ($path == 'node') {
    $result = ''; 
  }
}
?>
4
AyeshK

Utilicé el módulo Redirect : acabo de agregar una nueva redirección 301 de node a <front>.

2
ACD

Puede crear una página asignada a/nodo que no se publique. Entonces los usuarios que llamarán a esta ruta tendrán una página de acceso prohibido

1
pitop

Similar a la respuesta de berdirs, tengo el siguiente código incluido en un módulo que es parte de una distribución personalizada a partir de la cual construimos:

function HOOK_menu_alter(&$items) {
  $items['node']['page callback'] = '_HOOK_empty_home';
}

function _HOOK_empty_home() {
  drupal_set_title('');
  return '';
}

De esa forma, puedo mantener la ruta del 'nodo' como página de inicio y usar el contexto para colocar bloques para construir la página de inicio requerida.

1
Decipher

Puede crear una nueva página con URL de nodo y las personas pueden ver un mensaje que los redirecciona para visitar la página principal o elegir una categoría de algo.

1
Mario

La solución fácil para mí fue crear una página que quería que fuera la página de inicio y establecer la URL en/nodo. Luego, en/admin/config/system/site-information establezca la página principal predeterminada en/node. Nunca verá "/ node" en la URL a menos que alguien realmente lo escriba. Es rápido, fácil y limpio, siempre que desee establecer la URL de su página de inicio en/node.

1
Jack McKenzie

Intenté varias cosas. Luego, para Drupal 7 y 8, encontré que esto es más fácil, sin escribir ningún código:

descargue y habilite los módulos node_page_disable, globalredirect y redirect.

(Nota: el módulo node_page_disable redirige/nodo a la página de error 404 no encontrado).

luego agregue una redirección para/nodo -> portada

Tenga en cuenta que la redirección redirige tanto/node como/node/a la página principal.

y un artículo útil para leer: https://www.drupalaid.com/blog/3-things-you-should-hide

1

Pregunta popular de hace algunos años, con algunas respuestas bastante interesantes. Sin embargo, adivina qué: "En estos días hay un módulo para él ... ¡incluso dos!" (no mencionado en ninguna de las respuestas anteriores).

Siga leyendo para obtener más detalles ... (las citas son de sus páginas de proyecto) ...

Administrador de la página del nodo (ya sea D6 o D7):

Este módulo agrega un panel de configuración de administración para manejar /node acceso a la página. Una vez que se activa, hay tres configuraciones posibles:

  • Core - Drupal core manejará el acceso a la página de nodo como de costumbre: todos los usuarios con permiso de 'contenido de acceso'
  • Deshabilitado: nadie podrá acceder/nodo. Volverá 'Página no encontrada' (404).
  • Con permiso: el acceso se gestionará con un nuevo permiso: 'página de nodo de acceso'

Deshabilitar página de nodo (ya sea D6 o D7, aunque solo versiones rc2):

Permite un fácil acceso a la interfaz de usuario y la desactivación de la ruta /node cuando no se usa. Esto se inspiró en una consideración de seguridad en Módulo de control de producción .

0
Pierre.Vriens

Cree un nodo, luego vaya a configuración del sitio -> información del sitio y configure la página de inicio en la ruta del nodo. Entonces, si es su primer nodo, sería node/1.

Editar: de forma predeterminada, solo al crear un nodo esa página desaparecerá si marca 'promocionar a portada'. El paso de información del sitio hará que ese nodo sea su página principal real.

0
Mike L.

Puede usar el módulo Reglas para verificar la URL antes de ver una página y redirigir a los usuarios a otra página si lo desea.

  • Agregar regla con evento: Se va a ver el contenido
  • Agregar condición: Ejecutar personalizado PHP código y verificar la ruta
  • Agregue acción: Redireccionamiento de página y elija la ruta a la que desea redirigir
0
Laxman13