users – Permiso "Ver contenido no publicado" para personas que no son de autor

Pregunta:

Busqué en Google un poco para ver si hay una forma de nivel de permiso para permitir que un usuario que haya iniciado sesión (pero que no sea administrador) vea contenido no publicado (marcado con la clase de nodo CSS no publicado). Esto parece estar programado solo para Drupal 8. ¿Pero tal vez alguien fue lo suficientemente inteligente como para hacer una solución?

Tengo una función llamada Content Editor que debería poder ver todo el contenido no publicado, independientemente de si fue el autor o no.

Respuesta:

Si está bien escribiendo un módulo personalizado muy pequeño, puede usar una combinación dehook_permission() y hook_node_access() para hacer esto:

function MYMODULE_permission() {
  return array(
    'unconditionally view unpublished content' => array(
      'title' => t('Unconditionally View Unpublished Content'),
      'restrict access' => TRUE
    )
  );
}

function MYMODULE_node_access($node, $op, $account) {
  // We're only bothered about the 'view' operation at the moment
  if ($op == 'view') {
    // If the user has access to our new permission, let 'em at it
    if (user_access('unconditionally view unpublished content', $account)) {
      return NODE_ACCESS_ALLOW;
    }
  }

  // For everything else let the system decide.
  return NODE_ACCESS_IGNORE;
}

Cualquier rol al que asigne el nuevo permiso ahora debería poder ver cualquier nodo, independientemente de si está publicado o no.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım