webform toke modulos modules descargar ctools drupal drupal-7 drupal-views

toke - Vista del filtro Drupal sobre el término de la taxonomía y el rol del usuario



views drupal (1)

OK, así es como lo haría de una manera ''Drupalish'':

  1. En su vocabulario de ''visibilidad'', agregaría un campo que es una referencia de roles (en Drupal 7 los términos pueden tener sus propios campos, ¡yay!). Debe descargar y habilitar el módulo de Referencia de funciones para poder configurar este tipo de campo. Para mi ejemplo, llamaré al campo de referencia de roles del término ''Rol de visibilidad''
  2. Ahora modifique todos sus términos de visibilidad y complete el campo de función recién creado para cada uno, estableciendo esencialmente qué rol es aplicable a cada término. Supongo que podría tener una referencia de rol directamente en el nodo, en lugar de detrás del término, pero eso depende de usted
  3. En su opinión, agregue la relación ''Contenido: visibilidad'' o lo que se llame ese término
  4. Finalmente, agregue un filtro contextual que comparará el rol en el término ''visibilidad'' con el rol actual del usuario. Solo después de que haya agregado la relación anterior, aparecerá el campo ''Rol de visibilidad'' en la lista de filtros contextuales disponibles. Seleccione eso como su filtro contextual. Elija ''Proporcionar valor predeterminado'' y ''Código PHP'' como sus opciones. Escriba el siguiente código php para comparar los roles asociados con el término del nodo con el rol del usuario actual :

    global $user; $current_roles = ""; foreach ($user->roles as $key => $val) { $current_roles .= $key; if ($val != end($user->roles)){ // If not last item, add a ''+'' which treats these as an or $current_roles .= ''+''; } } return($current_roles);

* Finalmente, asegúrese de expandir la opción ''Más'' en el filtro contextual y seleccione para permitir múltiples valores para este filtro.

Pruébelo y díganos si esto funciona para usted. Lo probé y parece funcionar para mí.

Tengo una pregunta bastante básica, pero no puedo entender bien cómo resolverla. Tengo un tipo de nodo que contiene información del calendario, utilizo las vistas para que la vista de mes sea agradable y todo está bien hasta ahora. Lo siguiente fue hacer que la vista de calendario también contenga nodos de tipo "group_xyz" pero solo mostrar estos eventos cuando un usuario está conectado. Logré hacer eso con el filtrado utilizando un par de líneas PHP para obtener el ID de usuario y el tipo de nodo, pero ya aquí no parecía una verdadera solución drupal ...

Para mi problema, nos gustaría limitar la visualización de las publicaciones de calendario dependiendo de la función del usuario y un término de taxonomía utilizado en el nodo.

Entonces el nodo tiene una referencia de término de taxonomía "visibility_to", digamos uno de (Todo, Interno, Administradores) establecido. El usuario puede ser invitado, usuario registrado o administrador.

Ahora me gustaría encontrar una buena manera de filtrar así: mostrar el ítem IF tipo-nodo es calendar Y ((visibility_to == "All") O ((visibility_to == "Internal") AND (role == "administrator "O rol ==" logged_in ") O (visisbility_to ==" Administradores "Y rol ==" administrador "))

Creo que entiendes el punto ... Creo que podría lograr codificarlo en PHP, pero el día en que agreguemos nuevos roles, nuevos términos de taxonomía, preferiría tener todo esto configurado con la interfaz de administración ...

Cualquier ayuda y / o sugerencia es apreciada. También publicado en los foros de drupal en: http://drupal.org/node/1879238