votingapi - modulos de drupal 8
Establecer programáticamente un valor numérico de cinco estrellas en Drupal 7 (1)
Me tomó un tiempo encontrar este, pero va así para crear el valor fivestar programáticamente
$ node-> field_name_of_your_field [$ node-> language] [0] [''rating''] = 20;
enciende Devel y navega por la clase stdClass (Objeto) que aparece debajo de la pestaña Devel en un nodo.
Sotavento
Tengo un sitio de Drupal 7 y estoy usando fivestar en un tipo de contenido. Algunos nodos de ese tipo de contenido se crean usando un Importador de fuentes con el analizador xpath (el resto se crean de la manera más tradicional / nodo / agregar drupal). Para estos feeds importados, tengo un campo entrante que contiene un valor de calificación numérica (0, 20, 40, 60, 80, 100), que me gustaría agregar a mi campo de cinco estrellas para que estas clasificaciones puedan rastrearse y mostrarse en una manera consistente con los nodos creados por drupal.
Mi problema es que mi campo Fivestar (field_rating) no aparece como un destino para la importación del analizador xpath. ¿Hay alguna manera de obtener esta calificación o, alternativamente, alguien me puede indicar una forma de establecer programáticamente este valor de campo Fivestar?
ACTUALIZACIÓN: He encontrado _fivestar_cast_vote, pero estoy teniendo problemas para llevarlo al campo que trato de usar, que es "puntuado al editar". Puedo usar _fivestar_cast_vote para un campo fivestar diferente en el mismo nodo que es "Rated when viewing", así que siento que tengo la sintaxis correcta. Para el campo "Calificación al editar", estoy usando el usuario del usuario al que se le asignó el contenido al importar ... Para la prueba, estoy haciendo esto en el archivo node - *. Tpl.php, y probablemente se mueva a un cron hook si puedo hacer que funcione ...