2010-03-12 8 views
0

J'ai vu des exemples simples de rendu d'un Zend_Form en utilisant des décorateurs, mais je ne suis pas sûr qu'ils soient capables de gérer le problème auquel je suis très bien confronté.Quelle est la manière la plus simple de créer un affichage tabulaire Zend_Form avec chaque ligne ayant un bouton radio?

J'interroge la base de données et j'obtiens un tableau d'objets utilisateur. Je veux afficher ces utilisateurs sous forme de formulaire, avec un bouton radio à côté de chacun d'entre eux et un bouton de soumission au bas de la page.

Voilà à peu près ce que la forme ressemblera:

[user id] [email]   [full name] 
() 1   [email protected] Test user 1 
(*) 2   [email protected] Test user 2 
[SUBMIT] 

Est-ce quelque chose réalisable d'une manière assez simple ou dois-je besoin d'utiliser la partie ViewScript?

Répondre

2

Vous devriez facilement réaliser cette mise en page Leveraging Zend Form Decorators.

Edit:

Vous pouvez être intéressé aussi Zendcasts:
Zend Form decorators explained et Creating custom Zend Form Decorators.

BTW, Ceci est assez commun pour la mise en page des préférences:

Display preferences http://img707.imageshack.us/img707/3244/displaypreferences.gif

Une fois que vous avez terminé, envoyer votre code de travail ici pour référence.

+0

Merci! J'ai vu beaucoup d'articles sur les décorateurs, mais c'est le premier qui aborde les choses d'une manière qui fonctionne dans ma situation - modéliser avec sprintf plutôt que de simplement habiller une entrée en HTML statique. –

+0

J'ai ajouté deux autres liens à mon message original. – takeshin

0

Juste une petite suggestion. Pourquoi avez-vous besoin de table pour cela? Le balisage de la liste de définition par défaut peut être stylisé pour ressembler exactement à ce que vous voulez qu'il ressemble.

+0

J'ai besoin de 3 colonnes et plus par rangée et j'ai besoin d'en-têtes pour chaque colonne. Vous ne savez pas comment une liste peut garantir que chaque colonne sera alignée avec les données des autres lignes et avec les en-têtes. –