Checkbox et les tableaux de checkbox (CakePHP 1.2)

17 views
Skip to first unread message

foxmask

unread,
Feb 25, 2008, 4:55:07 PM2/25/08
to Cakephp-fr
Bonsoir,
j'aimerai transformé le code suivant avec le FormHelper

<li><label><input type="checkbox" name="p_fids[]" value="<?php echo
$forum['Forums']['id']?>" class="checkbox" <?php echo $options ?> /><?
php echo $forum['Forums']['forum_name']; ?></label></li>


$options est le resultat de

if ( in_array($forum['Forums']['id'],$p_fids ) )
$options = '"checked"="checked"';

J'ai essayé ceci
echo $form->input('p_fids[]',
array(
'div'=>false,
'label'=>$forum['Forums']['forum_name'],
'type'=>'checkbox',
'before' => '<li>',
'after' => '</li>',
'value' => $forum['Forums']['id']
)
);
mais que je soumets le formulaire ;, avec le component Security, je
tombe dans le blackhole (page blanche) :(
Merci de votre aide
Cordialement.

avairet

unread,
Feb 26, 2008, 5:54:20 AM2/26/08
to Cakephp-fr
Salut,

Je ne sais pas si cela peut t'aider... mais les champs multiples ont
été corrigés : http://groups.google.com/group/cake-php/msg/1c9e31fbdd7d4a03

Avairet

foxmask

unread,
Feb 26, 2008, 5:59:01 AM2/26/08
to Cakephp-fr
merci pour le tuyau, je vais regarder

j'avais aussi essaye un

echo $form->input('p_fids[]',
array(
'div'=>false,
'label'=>$forum['Forums']['forum_name'],
'type'=>'multiple',
[...]

mais sans resultat.

foxmask

unread,
Feb 27, 2008, 4:23:52 PM2/27/08
to Cakephp-fr
testé
pas marché
tjs blackhole :x

francky06l

unread,
Mar 1, 2008, 9:13:43 PM3/1/08
to Cakephp-fr
Essaye de mettre en "disableFields" ce champ and beforeFIlter : $this-
>Security->disabledFields = array('Forum.forum_name');

foxmask

unread,
Mar 2, 2008, 2:40:31 AM3/2/08
to Cakephp-fr
Bonjour Frankcy06,
j'y ai cru ;)

mais ça ne convient pas car

Invalid argument supplied for foreach() [CORE\cake\libs\controller
\components\security.php, line 484]

Ceci à cause du fait que le formulaire courant n'utilise pas
ForumsController.
C'est un controller (BlocksController, sans table) qui utilise la
liste des forums pour savoir avec lequel "travailler"

francky06l

unread,
Mar 3, 2008, 12:53:50 PM3/3/08
to Cakephp-fr
Tu peux toujours declarer un schema dans un model sans Table. Je fais
cela pour permettre des veirfications sur des champs que je saisi mais
ne garde pas.

avairet

unread,
Mar 4, 2008, 9:33:05 AM3/4/08
to Cakephp-fr
@fowmask, voici un petit snippet sur les checkboxes multiples, je ne
sais pas s'il fait ce que tu souhaites, mais bon au cas où...
http://cakeforge.org/snippet/detail.php?type=snippet&id=190

foxmask

unread,
Mar 4, 2008, 11:20:26 AM3/4/08
to Cakephp-fr
J'essairai cela dès que possible.
merci.

On 4 mar, 15:33, avairet <cont...@vairet.net> wrote:
> @fowmask, voici un petit snippet sur les checkboxes multiples, je ne
> sais pas s'il fait ce que tu souhaites, mais bon au cas où...http://cakeforge.org/snippet/detail.php?type=snippet&id=190

foxmask

unread,
Mar 5, 2008, 8:05:01 AM3/5/08
to Cakephp-fr
me suis fait un helper qui hérite de FormHelper et qui correspond à
l'usage que je me suis fait des checkbox

je passe le nom du model (le meme que celui que j'indique dans $form-
>create) du formulaire, le nom de la checkbox, la valeur de celle ci,
la liste de valeur et le libelle de ma checkbox

class PcformHelper extends FormHelper
{

private $__out = array();

function checkbox($modelName, $colName, $value, $values=array(),
$title) {

$this->__out = array();

$options['value'] = $value;
$options['name'] = 'data['.$modelName.']['.$colName.'][]';

$selected_str = '';
if ( in_array($value,$values ) ) {
$selected_str = 'checked="checked"';
$options['checked']='checked';
}

$options = $this->__initInputField($colName, $options);


$this->__secure();

$this->__out = '<input type="checkbox" value="'.$value.'"
name="data['.$modelName.']['.$colName.'][]" '.$selected_str.'/> '.
$title;

return $this->__out;


}
}

?>


Ce qui fait que cela fonctionne avec le component Security c'est le
$this->_secure() qui créé le hashage avec $options.

ouala enfin une issue...

Lionel

unread,
Mar 5, 2008, 8:10:01 AM3/5/08
to cakep...@googlegroups.com
Bonjour,

félicitations pour ta persévérance.
Par contre, pourquoi surcharges-tu checkbox ?
Tu pourrais créer une méthode multipleCheckboxes ?
De cette manière, si tu as besoin de l'ancienne version de checkbox, il
n'y aura besoin de faire coexister les 2 helpers.
(c'est juste une impression)

Bon courage,

Lionel


foxmask a écrit :

foxmask

unread,
Mar 5, 2008, 9:09:57 AM3/5/08
to Cakephp-fr
Bonjour Lionel,

J'avais créé une autre methode aussi oui mais comme mon helper ne
gerera que cette methode (j'espere :P)

Surtout que là c'est un helper qui va servir que le temps que CakePHP
fasse l'évol apres j'escompte bien de plus m'en servir

Cependant, à plus y réflechir, s'il s'averait que l'évol n'arrive
pas / jamais la méthode multipleCheckboxes à tout son interet oui.

Qu'en dites vous ?

Si je "mue" ma methode en multipleCheckboxes, j'ouvre un ticket sur le
trac de cakephp pour leur proposer le snipset ?

Cdt.

Lionel

unread,
Mar 5, 2008, 11:41:06 AM3/5/08
to cakep...@googlegroups.com
Salut,

d'un point développement, le mutipleCheckboxes revient à un select
multiple présenté autrement.
Dans mon cas, mais ça n'engage que moi, j'utilise n'utilise les checkbox
que pour les booleens.
La Team a peut-être pris le parti-là.
Par contre dans les snippets, je crois que c'est une bonne idée ou dans
la bakery.

Lionel

foxmask a écrit :

foxmask

unread,
Mar 6, 2008, 8:33:57 AM3/6/08
to Cakephp-fr
je continue d'alimenter mon wiki sur cakephp j'ai ajouté le snipset
http://wiki.foxmask.info/index.php?title=CakePHP_et_PunBB#CakePHP_snipsets_:_multiCheckboxes
Reply all
Reply to author
Forward
0 new messages