Bonjour à tous,
j'ai comme tout le monde un problème avec une checkbox qui dépends d'une valeur de ma table.
J'ai un champ d'une table BIEN qui s’appelle ISN1 et qui à soit la valeur 1 soit 0.
Dans le fichier bien.xml j'ai défini :
J'ai essayé aussi
dans bien/views/tmpl/edit.php
la case représente la valeur de la table.
si je coche, la variable $data['Isn1'] est renseignée avec 1 c'est bon pour moi pour la sauvegarde
si je décoche, alors la variable $data['Isn1'] n'est pas crée, donc si mon champ dans la table était à 1 il le restera car je n'ai pas de valeur à enregistrer.
C'est pour cela que j'ai modifié dans bien/models/bien.php
comme cela
Je ne sais pas si cela est très propre mais cela fonctionne pour moi.
Si quelqu'un à une autre solution (mais je n'en ai pas trouvé dans les forums fr et us) je suis preneur.
Cordialement
Gilbert
j'ai comme tout le monde un problème avec une checkbox qui dépends d'une valeur de ma table.
J'ai un champ d'une table BIEN qui s’appelle ISN1 et qui à soit la valeur 1 soit 0.
Dans le fichier bien.xml j'ai défini :
Code:
<field name="Isn1" label="COM_BIENS_FIELD_ISN1_LABEL" size="1" type="checkbox" value="1" />
Code:
<field name="Isn1" label="COM_PRESTIMMOADMINBIENS_FIELD_ISN1_LABEL" size="1" type="checkbox" value="1" checked="checked" />
Code:
<td class="key"><strong><?php echo $this->form->getLabel('Isn1'); ?></strong></td><br> <td align="left"><?php echo $this->form->getInput('Isn1'); echo $disabled ; ?>
si je coche, la variable $data['Isn1'] est renseignée avec 1 c'est bon pour moi pour la sauvegarde
si je décoche, alors la variable $data['Isn1'] n'est pas crée, donc si mon champ dans la table était à 1 il le restera car je n'ai pas de valeur à enregistrer.
C'est pour cela que j'ai modifié dans bien/models/bien.php
public function save($data)
{
// Alter the title for save as copy
if (JRequest::getVar('task') == 'save2copy') {
list($title,$alias) = $this->generateNewTitle($data['catid'], $data['alias'], $data['title']);
$data['title'] = $title;
$data['alias'] = $alias;
}
if (parent::save($data)) {
return true;
}
return false;
}
{
// Alter the title for save as copy
if (JRequest::getVar('task') == 'save2copy') {
list($title,$alias) = $this->generateNewTitle($data['catid'], $data['alias'], $data['title']);
$data['title'] = $title;
$data['alias'] = $alias;
}
if (parent::save($data)) {
return true;
}
return false;
}
Code:
public function save($data) { // Alter the title for save as copy if (JRequest::getVar('task') == 'save2copy') { list($title,$alias) = $this->generateNewTitle($data['catid'], $data['alias'], $data['title']); $data['title'] = $title; $data['alias'] = $alias; } if ( array_key_exists('Isn1', $data)) { $data['Isn1']='1'; } else { $data['Isn1']='0'; } if (parent::save($data)) { return true; } return false; }
Si quelqu'un à une autre solution (mais je n'en ai pas trouvé dans les forums fr et us) je suis preneur.
Cordialement
Gilbert
Commentaire