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:
$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:
$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!.
