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.