Checkbox et les tableaux de checkbox (CakePHP 1.2)

17 vues
Accéder directement au premier message non lu

foxmask

non lue,
25 févr. 2008, 16:55:0725/02/2008
à 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

non lue,
26 févr. 2008, 05:54:2026/02/2008
à 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

non lue,
26 févr. 2008, 05:59:0126/02/2008
à 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

non lue,
27 févr. 2008, 16:23:5227/02/2008
à Cakephp-fr
testé
pas marché
tjs blackhole :x

francky06l

non lue,
1 mars 2008, 21:13:4301/03/2008
à Cakephp-fr
Essaye de mettre en "disableFields" ce champ and beforeFIlter : $this-
>Security->disabledFields = array('Forum.forum_name');

foxmask

non lue,
2 mars 2008, 02:40:3102/03/2008
à 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

non lue,
3 mars 2008, 12:53:5003/03/2008
à 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

non lue,
4 mars 2008, 09:33:0504/03/2008
à 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

non lue,
4 mars 2008, 11:20:2604/03/2008
à 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

non lue,
5 mars 2008, 08:05:0105/03/2008
à 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

non lue,
5 mars 2008, 08:10:0105/03/2008
à 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

non lue,
5 mars 2008, 09:09:5705/03/2008
à 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

non lue,
5 mars 2008, 11:41:0605/03/2008
à 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

non lue,
6 mars 2008, 08:33:5706/03/2008
à 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
Répondre à tous
Répondre à l'auteur
Transférer
0 nouveau message