depuis peu je cherche à réaliser un formulaire de recherche pour afficher la liste de contact selon le champ d'un formulaire
[IMG]Bureau\formRech[/IMG]

Le formulaire est definit comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
namespace Cnce\AnnuaireBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class ContactRechercheForm extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
{
   // Champ de recherche full text
     $builder->add('Nom', 'text', array('label' => 'Choix du Site '));
}
    public function getName()
{
    return 'contactrecherche';
}
public function getDefaultOptions(array $options)
    {
   return array(
    'data_class' => 'Cnce\AnnuaireBundle\Entity\Site',
    );
    }
}
Lorsque le formulaire ci-dessus s'affiche, on met le nom d'un site et en cliquant sur le bonton "Rechercher tous le contact" on execute l'action RechBySite du controleur Contact definit par la route :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
CnceAnnuaireBundle_Rech_Contact_by_site:
    pattern: /contact/rechbySite/{nomsite}
    defaults: { _controller: CnceAnnuaireBundle:Contact:RechBySite,nomsite:'' }
L' action elle se definit comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//Executer l’action RechBySiteAction  du controleur 
    public function RechBySiteAction($nomsite) // je veux récupérer comme paramètre le champ du formulaire
{     
    /* Tableau qui va stocker toutes les données à remplacer dans le template twig */
    $variables = array();  
 
    // Récupération de l'entity manager qui va nous permettre de gérer les entités.
    $entityManager = $this->get('doctrine.orm.entity_manager');       
 
    // On recherche dans la table Site l'enregistremnet qui correspond au nomsite reçut par l'url et on stocke l'objet Site dans une variable
 
    $selected_site = $entityManager->getRepository("Cnce\\AnnuaireBundle\\Entity\\Site")->findBy(array("nomsite" => $nomsite));  
 
      // Si le site passé par l'url existe bien, on passe l'id à notre template
    if(isset($selected_site[0])) {
        $variables['selected_site'] = $selected_site[0]->getId();
    }
    // Sinon on renvoie 0, aucun site n'a été sélectionné
    else {
        $variables['selected_site'] = 1; // on affiche les contact du SED
    }
    // Récupération de la liste des contacts grâce à notre méthode findBySite.
       $contact_list = $entityManager->getRepository("Cnce\\AnnuaireBundle\\Entity\\Contact")->findBySite($variables['selected_site']);
    $variables['Contacts'] = $contact_list;
 
    // On récupère le nombre total de contacts en comptant simplement le resultat de la recheche de tous les contacts
    $variables['total_nb_contacts'] = count($entityManager->getRepository("Cnce\\AnnuaireBundle\\Entity\\Contact")->findAll());       
    /* On récupère la liste des sites avec le nombre de contacts associés pour notre sidebar */           
    $variables['Sites'] = $entityManager->getRepository('Cnce\\AnnuaireBundle\\Entity\\Site')->fetchAllWithContactsCount() ;
 
    /*return $this->container->get('templating')->renderResponse('CnceAnnuaireBundle:Contact:ResultatRech.html.twig', array(
      'contact_list' => $contact_list
     ));*/
     return $this->container->get('templating')->renderResponse('CnceAnnuaireBundle:Contact:ResultatRech.html.twig', array(
      'contact_list' => $contact_list
     ));
}
Mon problème
J'arrive à avoir le resultat quand je test en saisissant le nom du site dans l'url mais je souhaite maintenant mettre en paramètre le champ sur le formulaire dans la l'action RechBySiteAction; en fait je souhaite remplacer $nomsite par ce que je sais pas , aidez-moi je maitrise pas SF2