Dans Symfony, comment récupérer le contenu du modèle rendu comme une variable dans une action?

StackOverflow https://stackoverflow.com/questions/931359

Question

Je voudrais définir une variable dans mon action Symfony qui contient les données de modèle pour cette action rendus. Je retourne un contenu JSON avec l'action, et je voudrais enregistrer ce que l'action serait fournir en sortie dans le JSON et le retourner.

public function executeAjaxPriceAdditionCreate(sfWebRequest $request)
{
    $this->form = new ProductPriceAdditionAjaxForm();

    $json['success'] = $this->processAjaxPriceAdditionForm($request, $this->form);
    $this->setTemplate('ajaxPriceAdditionNew');
    $json['content'] = ???; // THIS IS WHERE THE RENDERED TEMPLATE CONTENT SHOULD GO.

            $this->getResponse()->setHttpHeader('Content-Type','application/json; charset=utf-8');
    return $this->renderText(json_encode($json));
}
Était-ce utile?

La solution 2

Ce que je fini par faire utilisait un flash au lieu d'essayer d'envoyer JSON. Le modèle du contenu AJAX a essayé de détecter le flash en haut, et si oui, il a fait les méthodes « succès » (fermer la boîte de pop-up modale).

Autres conseils

Si vous nommez votre modèle en tant que partiel, vous pouvez utiliser

$json['content] = $this->getPartial('ajaxPriceAdditionNew');

Voir getPartial API

exit($this->getPartial('ajaxPriceAdditionNew'));

// apps/frontend/modules/community/templates/_ajaxPriceAdditionNew.php
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top