[Symfony] admin generator - limiter résultats à l'affichage

Eléphant du PHP | 68 Messages

19 avr. 2010, 17:49

Bonjour,

je travaille sur Symfony, en particulier sur la partie BackOffice du site.
J'ai déjà créé plusieurs modules sans trop de soucis.

Mais je dois faire un module "Biens", or cette table contient un grand nombre d'enregistrements , et seul une partie de ceux-ci doivent être administrables.
Quand j'arrive sur l'index de mon module, j'obtiens donc la liste de tous les enregistrements alors que je veux sélectionner (via une requête) uniquement les enregistrements d'un certain type.

Comment faire cela ? (sans faire le module à la main...)

Merci d'avance.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 avr. 2010, 17:54

Je crois que dans le builder "list" il faut utiliser : "max_per_page:"

Du temps où je bricolais avec l'admin generator j'utilisais ce document, mais je crois qu'il n'est pas complet, et surtout peut-être plus très à jour: http://www.symfony-project.org/uploads/ ... efCard.pdf

Eléphant du PHP | 68 Messages

19 avr. 2010, 17:59

Merci pour ta réponse .
En fait ce que je cherche à faire ce n'est pas de limiter les résultats mais plutôt de ne pas tous les sélectionner. (ex : where 'bien_type = 4')

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 avr. 2010, 18:06

Regarde la requête qui est générée mais je pense que c'est un LIMIT qui est créé derrière.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 avr. 2010, 19:40

Dans le generator.yml, tu as une ligne "peer_method" qui permet de définir la méthode qui est appelée pour remplir la liste.
Cette méthode doit se trouver dans le fichier "Table" de l'entité générée par le module en question.

Plus d'information dans cette page : http://www.symfony-project.org/referenc ... -Generator
Plus particulièrement ce chapitre : http://www.symfony-project.org/referenc ... eer_method
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 68 Messages

20 avr. 2010, 10:27

Merci pour vos réponses. En effet, c'est bien dans "peer method" que cela se règle.
En l'occurrence "table_method" vu que j'utilise Doctrine.

Bonne journée

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 avr. 2010, 10:36

mouarf

Le pire, c'est que je ne comprenais pas pourquoi je ne trouvais pas cette ligne dans mes projets ... Doctrine :oops:

Sinon, content d'avoir résolu ton problème :pouce:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer