Drupal: El “view” de un cck no está disponible cuando hago node_load() [Solución]
Cuando cargamos un nodo con node_load(), si quisiéramos hacer uso de la propiedad “view” de un campo CCK veríamos que la misma no existe:
1 2 3 4 5 6 7 |
$node = node_load(999); var_dump($node->field_precio[0]); array(2) { ["amount"]=> string(6) "100.00" ["currency"]=> string(3) "EUR" } |
Esto pasa porque CCK solo prepara esta propiedad cuando un nodo se esta por imprimir mediante node_view(). Si lo que necesitas es usar node_load() en lugar de node_view() la solución es inyectarle la propiedad “view” mediante la función que el mismo modulo de CCK utiliza:
1 2 3 4 5 6 7 8 9 10 |
$node = node_load(999); $node->field_precio[0]['view'] = content_format("field_precio", $node->field_precio[0]); var_dump($node->field_precio[0]); array(3) { ["amount"]=> string(6) "100.00" ["currency"]=> string(3) "EUR" ["view"]=> string(11) "100.00 EUR" } |
bye!.
Pingback: Drupal: El “view” de un cck no está disponible cuando hago ... | Recursos | Scoop.it