Bonjour à tous,

Je suis débutante en symfony, et je suit le cours de jobeet. Je suis dans la partie recherche et ajax.

J'ai fait les modifications énoncées dans le cours mais mon moteur de recherche ne marche pas bien.

Avant que j'intègre l'Ajax, ca marché bien.
Mais avec l'introduction de l'ajax, le moteur n'arrive pas à afficher les résultats alors que le mot recherché existe: une page vide est affichée juste l'entete et le footer le body est vide.
Mais lorsque le mot n'existe pas,ca marche: il m'affiche 'NO result' dans le body

Voici les modifications que j'ai effectuées:

1- Dans layout.php
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
 
 
//ajouter les helper
<?php use_javascript('jquery-1.4.2.min.js') ?>
	<?php use_javascript('search.js') ?>
 
 
//Modifier la classe "" search"
 
<div class="search">
   <h2>Ask for a job</h2>
          <form action="<?php echo url_for('job_search') ?>" method="get">
		<input type="text" name="query" value="<?php echo $sf_request->getParameter('query') ?>" id="search_keywords" />
		<input type="submit" value="search" />
		<img id="loader" src="/images/loader.gif" style="vertical-align: middle; display: none" />
		<div class="help">
		 Enter some keywords (city, country, position, ...)
		</div>
	 </form>
 
</div>
2- Dans search.js:

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
$(document).ready(function()
{
  $('.search input[type="submit"]').hide();
 
  $('#search_keywords').keyup(function(key)
  {
    if (this.value.length >= 3 || this.value == '')
    {
      $('#loader').show();
      $('#jobs').load(
        $(this).parents('form').attr('action'),
        { query: this.value + '*' },
        function() { $('#loader').hide(); }
      );
    }
  });
});
3- Enfin, dans action.class.php
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
public function executeSearch(sfWebRequest $request)
  {
    $this->forwardUnless($query = $request->getParameter('query'), 'job', 'index');
 
    $this->jobs = Doctrine_Core::getTable('JobeetJob')->getForLuceneQuery($query);
 
    if ($request->isXmlHttpRequest())
	{
		if ('*' == $query || !$this->jobs)
			{
			  return $this->renderText('No results.');
			}
 
		return $this->renderPartial('job/list', array('jobs' => $this->jobs));
	}
  }
en fait j'ai fait pas a pas ce qui est demandé dans le cours.

Ou se trouve le problème, est ce que j'ai oublié quelque chose?

Merci