Your report structure file is wrong. Each line in the report is supposed to contain two fields. In the structure file that you sent me earlier you had the following:
$structure['multi1']['fields'][8][] = array('field' => 'xxx_label',
'width' => 15,
'border' => '',
'style' => 'label_tplan',
'ignore_if_empty' => 'y');
$structure['multi1']['fields'][8][] = array('field' => 'xxx',
'width' => 180,
'x' => 15,
'border' => '',
'ignore_if_empty' => 'y');
You should change it to the following:
$structure['multi8']['fields'][1][] = array('field' => 'xxx_label',
'width' => 15,
'border' => '',
'style' => 'label_tplan);
$structure['multi8']['fields'][1][] = array('field' => 'xxx',
'width' => 180,
'x' => 15,
'border' => '');
In your _cm_output_multi() method you should have code such as the following:
case 'multi8':
if (!empty($fieldarray['xxx') {
$outarray = array('xxx_label' => '...', 'xxx' => '...');
} else {
$outarray = array();
} // if
break;
The framework will output whatever values you give it. If you give it a row with empty values then it will print empty values. If you do not want the row printed at all then you must output an empty row and not a row containing empty values.