sull'edit non devi fare nulla poichè è una vista, al max modifichi l'html.
Il form in joomla è governato da jform che nel model si occupa di caricare le definizioni xml, caricare i dati del post o recuperati dalla sessione ( se sei di ritorno sul form) e nella table fare un bel bind dove li unisce e li salva
Se devi cambiare qualcosa lo dovrai fare nel xml dove definisci il form.
avrai un field "giorno" di tipo text (credo) deve diventare un campo checkbox o radio se ne vuoi uno solo.
Nel primo caso trovi quì come si definisce:
http://docs.joomla.org/Standard_form_field_and_parameter_typese per il tuo caso specifico quì:
http://docs.joomla.org/Checkboxes_form_field_type..però succede qualcosa.... il tuo valore sarà un array che dovrai gestire in alcuni punti del tuo componente e precisamente nel bind e nel caso ritorni al form per errori o altro:
nel caso di ritorno al form, loadformdata contiene un condizionale
if (empty($data)) {
$data = $this->getItem();
se non ci sono dati nel post li recupera dalla sessione nello spazio identificato da quell'item... in quello spazio i tuoi dati saranno serializzati(*) per cui devi riportarli ad array
// Convert field ( to an array.
$registry = new JRegistry;
$registry->loadString($data->Tuo_field_name);
$data->set('Tuo_field_name',$registry->toArray());
Quando i dati vengono spediti dal form per essere salvati sono un array, un array non può essere savato in un db ha bisogno di diventare una stringa serializzata (*) ; nella Table troverai il metodo Bind:
public function bind($array, $ignore = ''){
if (isset($array['params']) && is_array($array['params'])) {
$registry = new JRegistry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
return parent::bind($array, $ignore);
}
Quello che vedi è quello che solitamente fa con i parametri che sono un array, devi fare la stessa cosa col tuo fieldname