symfony: проблема с загрузкой компонента с помощью AJAX - PullRequest
0 голосов
/ 05 июня 2011

Я пытаюсь загрузить компонент через AJAX в контексте Symfony.

Я создал свою ссылку на мой взгляд:

<?php
    echo jq_link_to_remote('Compétences', array(
        'update'   => 'right_column',
        'url'      => 'personnage/loadCompetences',
        'position' => 'top',
    ));
?>

Акция называется:

public function executeLoadCompetences(sfWebRequest $request){
    if ($request->isXmlHttpRequest())
         $this->renderComponent("personnage", "competences");   
}

И компонент (контроллер + просмотр _competence.php)

public function executeCompetences(sfWebRequest $request){
        $personnage = $this->getUser()->getGuardUser()->Personnage;

        $this->lecture = $personnage->getCom_lecture();
        $this->ecriture = $personnage->getCom_ecriture();
        $this->armes = $personnage->getCom_armes();
        $this->bouclier = $personnage->getCom_bouclier();
        $this->diplomatie = $personnage->getCom_diplomatie();
        $this->commandement = $personnage->getCom_commandement();
        $this->meditation = $personnage->getCom_meditation();
        $this->embuscade = $personnage->getCom_embuscade();
        $this->herboristerie = $personnage->getCom_herboristerie();
        $this->espionnage = $personnage->getCom_espionnage();
}


<div id="subpanel">
    <ul id="competences">
        <li class="competence">
            <span>Lecture</span>
            <img alt="" src="/medieval-ages-v2/web/images/competences/competences_<?php echo $lecture ?>.png" />
        </li>
    ...
    </ul>
</div>

Но я не могу загрузить компонент, если я не определил loadCompetenceSuccess.php (который включает компонент).

Есть ли способ загрузить компонент без создания представления xxxSuccess.php?

1 Ответ

1 голос
/ 05 июня 2011

Вам не хватает return в коде вашего действия:

return $this->renderComponent("personnage", "competences");

Если вы ничего не возвращаете, Symfony принимает "Success", поэтому по умолчанию он ищет actionnameSuccess.php.

Также: вместо того, чтобы жестко кодировать пути к изображениям, подобные этому, взгляните на помощников image_path и image_tag.

...