No cabe duda que los extrafields de k2 (Joomla) son de una utilidad enorme, pero la forma en la que por defecto se pintan en la ficha de un ítem, hace que pueda resultar un poco compleja la personalización de la presentación de los mismos.
K2 por defecto, se limita a recorrer los extrafields y pintarlos en una lista donde en cada línea esta el nombre, y el valor.
En la mayoría de proyectos esto puede resultar insuficiente, y lo que realmente queremos es poder pedir cualquier valor de cualquier extrafield en el momento que queramos. Es decir, obtenerlos de forma selectiva.
Para ello podéis utilizar esta función:
function get_extrafield_value($extra_fields, $name, $default = ''){
foreach ($extra_fields as $extraField) {
if ($extraField->name == $name) return $extraField->value;
}
return $default;
}
Al llamar a la función, le pasamos el vector (array) de extrafields, y el nombre del campo que queremos, y la función lo busca y nos devuelve el valor.
De esta forma, podemos presentar los extrafields como queramos:
get_extrafield_value($extra_fields, 'Tipo de vÃa').' '.get_extrafield_value($extra_fields, 'Nombre de la vÃa').', '.get_extrafield_value($extra_fields, 'Nº').'. '.get_extrafield_value($extra_fields, 'Código postal').' - '.get_extrafield_value($extra_fields, 'Localidad')
Esperamos que os ayude!