Ho un tipo di contenuto gruppo con tre campi per regione, provincia e comune ed un campo mappa nel quale vorrei memorizzare (con Rules) un link alla mappa sulla base dei dati inseriti nei tre campi precedenti.
Ho impostato questa regola:
{ "rules_crea_link_mappa" : {
"LABEL" : "Crea link alla mappa quando salva",
"PLUGIN" : "reaction rule",
"TAGS" : [ "gruppi" ],
"REQUIRES" : [ "rules" ],
"ON" : [ "node_insert", "node_update" ],
"IF" : [
{ "node_is_of_type" : { "node" : [ "node" ], "type" : { "value" : { "gruppo" : "gruppo" } } } },
{ "data_is_empty" : { "data" : [ "node:field-mappa:url" ] } }
],
"DO" : [
{ "data_set" : { "data" : [ "node:field-mappa:title" ], "value" : "Link alla mappa" } },
{ "data_set" : {
"data" : [ "node:field-mappa:url" ],
"value" : "https:\/\/maps.google.it\/maps?q=\u0022[node:field-indirizzo], [node:field-comune], [node:field-provincia]\u0022"
}
},
{ "drupal_message" : { "message" : "E\u0027 stato aggiunto un \u003Ca target=\u0022_blank\u0022 href=\u0022https:\/\/maps.google.it\/maps?q=[node:field-indirizzo],+[node:field-comune],+[node:field-provincia]\u0022\u003Elink alla mappa google\u003C\/a\u003E. " } }
]
}
}
La regola funziona (nel senso che viene attivata correttamente) ma l'azione "data_set" non viene eseguita, mentre invece viene eseguita correttamente l'azione "drupal_message".
Come posso risolvere? Qualche dritta?
Grazie 1000
Credo ci sia un bug in Rules (vedi qui): se nel parametro url ci sono dei token l'azione non viene eseguita.
Strade alternative?
Se il campo è di tipo link oppure url non è possibile inserire dei valori contenenti token tramite Rules.
Ho risolto utilizzando un campo di tipo testo: con Rules assegno un valore con tutti i token che mi servono e poi, faccio l'override della funzione per temizzare l'output del campo come un link.