Grazie e scusami ;-)
cmq ho trovato la soluzione che può essere di aiuto ad altri.
Utilizzando questa funzione:
function getJCFields($srcId, $fieldId=null, $dbfields=null, $context=null) { if( is_null($context) ) $context = 'com_content.article'; if( is_array($srcId) || is_object($srcId) ) { JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR.'/components/com_fields/helpers/fields.php'); $jfields = FieldsHelper::getFields($context, $srcId, true); } else if( is_int($srcId) ) { if( is_null($dbfields) ) $dbfields = 'id,label,value,item_id'; $db = JFactory::getDbo(); $db->setQuery(' SELECT '.$dbfields.' FROM #__fields LEFT JOIN #__fields_values ON #__fields.id = #__fields_values.field_id WHERE context = "'.$context.'" AND #__fields_values.item_id = '.$srcId.' AND #__fields.state = 1 '); $jfields = $db->loadObjectList(); } $fieldval=[]; foreach($jfields as $val) { $fieldval[$val->id] = (object)['label'=>$val->label,'value'=>$val->value]; } $fval = $fieldval; if( !is_null($fieldId) ) { $fval = $fieldval[$fieldId]; } return $fval; }
[color=var(--black-800)]e il rcupero del custom field[/color][/font]
//set della variabile con l'id
$srcid = ['id'=>24, 'catid'=>5];
// recupero del valore del custom field
getJCFields($srcid, 9)->value;