Permitir a los usuarios agregar términos de taxonomía pero exigir a los administradores que los verifiquen

8

Me gustaría permitir que los usuarios agreguen nuevos términos de taxonomía, pero me gustaría que un administrador verifique esto. La forma en que imagino que esto funcionaría haría que un usuario completara un formulario que enviaría una notificación al administrador especificado; luego, si el administrador aceptara, los usuarios solicitarían que se activara algún enlace o método que crearía el nuevo término de taxonomía.

¿Hay alguna manera de hacer este tipo de cosas con Drupal?

Mike2012
fuente
2
Definitivamente, es una buena idea para un nuevo módulo (no conozco ningún módulo que ofrezca esa funcionalidad actualmente). Probablemente el mejor comienzo sea jugar con ellos hook_taxonomy_term_insert.
Paul

Respuestas:

8

Lluvia de ideas aquí ... ahora que la taxonomía es parte del sistema de entidades, debería ser posible hacer algo como esto:

  1. Instalar http://drupal.org/project/workflow
  2. Agregue un campo a su taxonomía llamado "Publicado" o "Aprobado" que es una casilla de verificación booleana
  3. Configure un flujo de trabajo que se active en la creación de términos de taxonomía con Aprobado como un campo al que solo pueden acceder los administradores
  4. Escriba un gancho en términos de taxonomía que elimine un término a menos que se apruebe (esta es la parte difícil: hay muchas maneras de llegar a los términos de taxonomía, por lo que esto podría hacer que este enfoque sea discutible).

Alternativa: dado que mencionó a un usuario que completa un formulario, puede tener fácilmente un tipo de contenido llamado "Término de taxonomía" o algo con los campos de taxonomía necesarios, luego use el flujo de trabajo / Reglas para enviar el envío a un administrador, luego de la aprobación use las Reglas o código personalizado para crear un nuevo término de taxonomía.

Joshua Stewardson
fuente
1
Buena idea. Para abordar el 4to punto, puede implementarlo fácilmente hook_taxonomy_term_view_alter(), verificar si el término está aprobado o no, y aplicarlo '#access' => FALSEa la matriz de representación para evitar que se muestre. Eso debería funcionar en todo el sistema (excepto posiblemente para vistas basadas en taxonomía que usan campos en lugar de modos de vista, y no hacen la verificación adicional).
Clive
3

Nunca hice algo como esto, pero mi enfoque sería crear un tipo de contenido de "término de taxonomía propuesto" y modelar la lógica a través del módulo Reglas .

Phaer
fuente