Checkbox ma solution

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Checkbox ma solution

    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 :
    Code:
    	<field
    	name="Isn1"
    	label="COM_BIENS_FIELD_ISN1_LABEL"
    	size="1"
    	type="checkbox"
    	value="1"
    	  />
    J'ai essayé aussi
    Code:
    	<field
    	name="Isn1"
    	label="COM_PRESTIMMOADMINBIENS_FIELD_ISN1_LABEL"
    	size="1"
    	type="checkbox"
    	value="1"
    	checked="checked"
    	  />
    dans bien/views/tmpl/edit.php
    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 ; ?>
    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
    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;
    }
    comme cela
    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;
    	}
    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
    Développeur Joomla amateur
    http://www.prestaopen.com

  • #2
    Re : Checkbox ma solution

    Pour répondre à pierrelesek avec qui j'ai échangé sur un autre post.
    Chez moi, une checkbox définie par une valeur de table s'affiche correctement mais le fait de décocher ou de ne pas cocher, ne me renvoie aucune valeur pour cette variable.
    Ca a l'air d'être normal au vu de tous les posts fr et us sur le sujet.
    Mon petit bout de code modifie la variable $data transmise par Joomla pour enregistrer.
    Cordialement
    Gilbert
    Développeur Joomla amateur
    http://www.prestaopen.com

    Commentaire


    • #3
      Re : Checkbox ma solution

      Cette solution et d'autres se trouve sur www.prestaopen.com
      Les commentaires sont les bienvenus
      A bientôt
      Gilbert
      Développeur Joomla amateur
      http://www.prestaopen.com

      Commentaire


      • #4
        Re : Checkbox ma solution

        @gmarin
        Salut,
        super boulot sur ton site.
        Dans mes bookmarks "joomla tutos" direct.
        Et pareil, j'apprécie beaucoup jfoobar, qui permet d'avoir un modèle de composant avec du code propre au départ.
        Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

        Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

        Commentaire


        • #5
          Re : Checkbox ma solution

          Merci pour ces encouragements. Je n'ai pas beaucoup de visites et j'ai du mal à le faire référencer. Je n'ai pas pris le temps de m'y pencher. D'autres articles vont suivre mais pas que sur Joomla.
          A bientôt
          Gilbert
          Développeur Joomla amateur
          http://www.prestaopen.com

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X