En Symfony, la forma de recuperar el contenido de la plantilla representa como una variable en una acción?

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

Pregunta

Me gustaría establecer una variable en mi acción de Symfony que contiene los datos de la plantilla prestados por esa acción. Voy a devolver algo de contenido JSON con la acción, y me gustaría para almacenar lo que la acción estaría emitiendo en el JSON y lo devuelve.

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

Solución 2

Lo que terminé haciendo fue el uso de un flash en lugar de tratar de enviar JSON. La plantilla del contenido AJAX trató de detectar el flash en la parte superior, y si es así, lo hizo los métodos de "éxito" (cerrando el cuadro emergente modal).

Otros consejos

Si el nombre de su plantilla como parcial, puede utilizar

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

getPartial API

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

// apps/frontend/modules/community/templates/_ajaxPriceAdditionNew.php
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top