¿Cómo restringir el acceso directo a los nodos pero solo permitir que las vistas accedan al campo requerido del tipo de nodo en particular?
Por ejemplo, en Views Slideshow estamos deslizando el campo de imagen que pertenece a un tipo de nodo en particular. Pero no queremos que los motores de búsqueda accedan y los visitantes accedan a los nodos que pertenecen a ese tipo de nodo.
¿Alguna sugerencia?
Restringir vista de página de nodo parece una mejor manera de restringir el acceso directo a cualquier nodo de tipo de contenido específico.
El uso también es bastante simple, solo necesita habilitar este módulo y configurar los permisos para los nodos a los que se puede acceder directamente de forma normal.
http://drupal.org/project/restrict_node_page_view
Desde la página del proyecto:
fuente
Otro módulo que hace lo mismo pero con más funcionalidades.
Madriguera del conejo
Los encargados del mantenimiento de este proyecto piden "Restringir la vista de página de nodo" Mantenedor para fusionar proyectos en problemas.
Ventajas frente a "Restringir vista de página de nodo":
Desventaja frente a "Restringir vista de página de nodo":
fuente
debe usar
node_access()
, hay ciertas opciones que puede implementar fácilmente usandohook_node_access()
. La implementación lenode_access()
permite tomar una decisión sobre quién puede acceder a un nodo y quién puede crear, eliminar, editar o actualizar dicho nodo. Sin embargo, las vistas aún pueden extraer datos de estos nodos.hook_node_access () , node_access ()
fuente
Inspirado por https://www.drupal.org/project/restrict_node_page_view , puede escribir un pequeño módulo usted mismo:
fuente
Usando el módulo Reglas puede implementar una regla similar a esta:
La regla anterior no tiene en cuenta (todavía) para aplicar solo la "acción" solo para roles seleccionados (por ejemplo, para que los administradores puedan seguir utilizando estas rutas para ver un nodo). Pero para cualquiera que esté un poco familiarizado con el módulo Reglas, esa es una "Condición" directa para agregar ...
Para experimentar con esta regla en su propio sitio, simplemente copie todo el código de Reglas anterior y péguelo en una nueva Regla en su propio sitio, creada mediante la función "Importar". Luego edite / refine más para que se ajuste a su propio entorno (por ejemplo, se mostrará el mensaje "Lo siento, ...").
fuente