Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
bonjour, je suis sur un projet en utilisant le ZF et Doctrine,
l'utilisateur se présente ainsi, (3 tables)
table user : id, login, password
table user_info : id, user_id, prenom, nom
table user_emploi : id, user_id, date_start, date_end, title
ce qui me donne version doctrine :
Array ( [id] => [login] => [password] => [userInfo] => Array ( [id] => [prenom] => [nom] => ) [userEmplois] => Array ( [0] => Array ( [id] => [date_start] => [date_end] => [titre] => ) [1] => Array ( [id] => [date_start] => [date_end] => [titre] => ) ) )
pour le user_info pas de probleme niveau du formulaire il me créer bien le sous formulaire nommé
userInfo[id] userInfo[prenom] userInfo[nom]
par contre niveau emplois ducoup ca fait la meme chose
userEmplois[id] userEmplois[date_start] userEmplois[date_end] userEmplois[titre]
impossible de rendre une sous list qui devrai ressembler a ca :
userEmplois[0][id] userEmplois[0][date_start] userEmplois[0][date_end] userEmplois[0][titre]
meme en mettant
$form->addSubForm($info, 'userEmplois[0]');
les crochets sont supprimer
si quelque a eu le meme soucis et a la solution je suis preneur
Dernière modification par stealth35 (28-10-2009 10:10:29)
Hors ligne
bon solution de secours, mettre des "_" a la la place des "["
$form->addSubForm($info, 'userEmplois_0_');
et un coup de javascript et le tour est jouer
var pat = /(\w+)_(\w+)?_(\[.*\])/; dojo.addOnLoad(function(){ dojo.query("form [name]").forEach(function(node, index, arr){ var name = node.name: node.name = name.replace(pat, '$1[$2]$3'); }); });
mais bon c'est pas top, si quelque a unevrai solution...
Dernière modification par stealth35 (28-10-2009 10:08:12)
Hors ligne
toujours pas d'idée, je suis quand même pas le seul dans ce cas ?
Hors ligne
Euh.. j'ai un cas identique, mais pas si identique (enfin je crois).
J'ai 3 niveaux de formulaire, mais sans tableau numéroté.
Le résultat donne ca :
/* Premier niveau de formulaire ($form1) */ ["ip"] => "10.0.0.3", ["comsnmp"] => "public", /* deuxième niveau de formulaire ($form1->addsubForm($form2, "ping")) */ ["ping"]["active"] => 1, ["ping"]["inter"] => 10, ["ping"]["interRRA"] => 600, /* deuxième niveau de formulaire ($form1->addsubForm($form22, "debit")) */ /* troisieme niveau de formulaire ($form22=>$addsubForm($form3, "FastEthernet4")) */ ["debit"]["Fasthernet4"]["inter"] => 5, ["debit"]["Fasthernet4"]["interRRA"] => 300, /* troisieme niveau de formulaire ($form22->addsubForm($form3, "Vlan1")) */ ["debit"]["Vlan1"]["inter"] => 5, ["debit"]["Vlan1"]["interRRA"] => 300,
Dernière modification par nORKy (28-10-2009 13:36:59)
Hors ligne
Pages: 1