it-swarm-es.com

¿Cómo utilizar el módulo Reglas para marcar un nodo que acaba de crearse?

Necesito automáticamente flag un nodo después de que se haya publicado. Todos los nodos de un determinado tipo de contenido se marcarán.

Para resolver ese problema, he instalado el módulo Reglas con la esperanza de poder marcar automáticamente los nodos que se crean. El módulo de reglas no viene preempaquetado con acciones de marca.

¿Es posible marcar un elemento que acaba de crearse?

5
Marcos Buarque

Para marcar un nodo cuando se publica, debe:

  • En admin/config/workflow/rules, cree una nueva regla seleccionando "Después de guardar contenido nuevo" como evento
  • Cree una condición de "El contenido es de tipo" seleccionando el tipo de contenido que desea marcar
  • Haga clic en el enlace "Agregar y" que aparece en la parte inferior de la tabla de condiciones
  • En la fila "Y", haga clic en "Agregar condición"
  • Cree una nueva condición eligiendo "Contenido publicado" como tipo de condición
  • Agregue una nueva acción seleccionando "Ejecutar personalizado PHP código" como tipo
  • Utilice el siguiente código como personalizado PHP código

    $flag = flag_get_flag('published'); // Replace "published" with the name of the flag you want to add.
    $flag->flag('flag', $node->nid);
    

En Drupal 6, las reglas exponen las acciones personalizadas establecidas en admin/config/system/actions, pero la versión de las reglas para Drupal 7 no parece tienen esa posibilidad. Las banderas para Drupal 6, por lo que recuerdo, expusieron algunas acciones a las Reglas, pero no parece que lo haga en Drupal 7).
Esa es la razón por la que usé una acción personalizada PHP para marcar el nodo.

0
kiamlaluno

Para su información, después de mucha búsqueda descubrí que el soporte de Reglas2 en Flag para Drupal7 ya está en desarrollo. ¡Lo probé y funciona bien!

También hay un parche como se indica aquí: http://nodeone.se/blogg/learn-flag-with-nodeone-part-7

¡No es fácil buscar en Google! : P Bye!

1
Paolo Pustorino

Sí, esto se puede hacer con las reglas 2 a través de la interfaz de usuario de reglas sin crear PHP personalizado.

Necesito marcar automáticamente un nodo después de que se haya publicado.

Si también está 'creando' el nodo en la misma acción, deberá modificar sus acciones de Reglas para poder marcar el nodo sin usar el código personalizado PHP.

Cree una nueva regla y agregue su acción 'crear nueva entidad'. Ver imagen a continuación:

Add Create new entity action

A continuación, deberá guardar la entidad (forzar guardado inmediato) y luego marcar la entidad. Ver imagen a continuación:

enter image description here

Sin guardar primero la entidad, recibía todo tipo de errores de SQL y demás. La configuración anterior funciona para mí y no requiere PHP personalizado.

0
Citricguy