Bonjour
j'ai implementé un autocompleter, mais il me renvois aucun resultat
voici les bouts de code réaliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
class ActeurActions extends sfActions {
public function executeIndex(sfWebRequest $request)
  	{
$this->form= new ActeurSearchForm();
}
 
}
........................................

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
 
<?php
class ActeurSearchForm extends sfForm
{
	public function configure()
	{
		$this->setWidgets(array
                  ('nom' => new sfWidgetFormChoice(array
                    ('choices' => array(),
                     'renderer_class' =>'sfWidgetFormJQueryAutocompleter',
                     'renderer_options' => array('url' => '/Acteur/search',),
  					))
		));
		$this->widgetSchema->setFormFormatterName('div');
	}	
}

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
public function executeSearch(sfWebRequest $request)
  {
  	$this->getResponse()->setContentType('application/json');
	$Acteur=ActeurPeer::searchActeurAjax($request->getParameter('q'),$request->getParameter('limit'));
  	return $this->renderText(json_encode($Acteur));
  }

class ActeurPeer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public static function searchActeurAjax($q,$limit)
	{
		$c=new Criteria();
		$c->add(self::NOM,'%'.$q.'%', Criteria::LIKE);
		$c->addAscendingOrderByColumn(self::NOM);
		$c->setLimit($limit);
		$acteurs=array();
		foreach(self::doSelect($c) as $acteur)
		{
			$acteurs[$acteur->getidacteur()] = (string)$acteur;
		}
		return $acteurs;
    }

et puis le template indexSuccess
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?php use_javascript ('/js/jquery-1.4.2.min.js'); ?>
<?php use_javascript ('/sfFormExtraPlugin/js/jquery.autocompleter.js') ;?>
<?php use_stylesheet ('/sfFormExtraPlugin/css/jquery.autocompleter.css'); ?>
 
<form action="<?php echo url_for('Acteur/Detail') ?>" method="POST">
  <?php echo $form['nom']; ?>
   <input type="submit" value="Rechercher" />
</form>
j'ai bien une image de chargement qui s'affiche mais aucune liste n'apparait pourtant en executant la requette a part j'ai bien un résultat donc la requette marche
Merci de votre Aide