No Symfony, como recuperar o conteúdo do modelo renderizado como uma variável em uma ação?

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

Pergunta

Eu gostaria de definir uma variável na minha ação Symfony que contém os dados do modelo renderizado para essa ação. Estou retornando algum conteúdo JSON com a ação, e eu gostaria de armazenar o que a ação seria a saída para o JSON e devolvê-lo.

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));
}
Foi útil?

Solução 2

O que eu acabei fazendo era usar um flash em vez de tentar enviar JSON. O modelo do conteúdo AJAX tentou detectar o flash no topo, e se assim for, ele fez os métodos "sucesso" (fechando a caixa de pop-up modal).

Outras dicas

Se você nomear o seu modelo como um parcial, você pode usar

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

getPartial API

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

// apps/frontend/modules/community/templates/_ajaxPriceAdditionNew.php
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top