ウィジェットのオートコンプリートを含むフォームがありますが、URLにパラメータを追加するとウィジェットが機能しません。パラメータとウィジェットを使用したルーティングJQueryAutocompleter(symfony)
私はパラメータを削除するとオートコンプリートが機能するが、新しいルートをどのように定義すればよいのかわからないので、ルーティングに問題があると思う。 (私はmyModule/config/routing.ymlで試しましたが、私は新しいルーティングの使い方を理解していないと思います)。
<a href="<?php echo url_for('refus/new?logement='.$logement->getId()) ?>">Nouveau refus</a>
アクション:
public function executeAutocompleteNud(sfWebRequest $request) {
// Fonction générant une liste de locataire pour le champs autocomplete
$this->getResponse()->setContentType('application/json');
// Récupération de la chaine entrée par l'utilisateur
$string = $request->getParameter('q');
// Requète récupérant la liste des locataires dont le nom contient la chaine entrée
$requete = Doctrine::getTable('locataire')->getDataWhereNUD($string);
// Construction d'un tableau associatif à partir des résultats de la requète
$resultats = array();
foreach ($requete as $res):
$resultats[$res->getNud()] = $res->getNud();
endforeach;
return $this->renderText(json_encode($resultats));
}
public function executeNew(sfWebRequest $request)
{
$log = $request->getParameter('logement');
$refus = new Refus();
$refus->set('logement', $log);
$this->form = new refusForm($refus);
$this->setTemplate('new');
}
ウィジェットスキーマ:
$this->widgetSchema['locataire'] = new sfWidgetFormJQueryAutocompleter(array('url' => 'autocompleteNud',
'config' => '{
scrollHeight: 300,
autoFill: true}'));