1
您好我正在用Symfony 3開發兩個應用程序,兩者都有同樣的問題,我想用render(controller())將搜索表單集成到樹枝中,問題是重定向到結果頁給我這個錯誤當在樹枝中渲染控制器時的重定向SYMFONY 302
渲染模板期間拋出異常(「呈現」http://localhost/project/web/app_dev.php/index「(狀態碼是302)」時出現錯誤。「)。
這是我的控制器
class ProductController extends Controller
{
public function resultsAction($criteria){
\t $em=$this->getDoctrine()->getManager();
\t $listProducts = $em->getRepository('ProjectProductBundle:Product')->getListBy($criteria);
\t return $this->render('ProjectFrontBundle:Front:results.html.twig', array('listProducts'=>$listProducts));
}
public function SearchByNameAction(Request $request){
$product = new Product();
$form=$this->get('form.factory')->create(ProductType::class,$product);
if($request->isMethod('post') && $form->handleRequest($request)->isValid()){
$em=$this->getDoctrine()->getManager();
$criteria = $form["name"]->getData();
return $this->redirectToRoute('project_product_results', array('criteria'=>$criteria));
}
return $this->render('ProductFrontBundle:Front:search.html.twig',array('form'=>$form->createView()));
}
}
這是我在倉庫功能
class ProductRepository extends \Doctrine\ORM\EntityRepository
{
\t public function getListBy($criteria)
{
$qb = $this->createQueryBuilder('p')
->where('p.name LIKE :criteria')
->setParameter('criteria', '%'.$criteria.'%');
return $qb->getQuery()->getResult();
}
}
這是我的看法TWI摹
<div>
{% block search_body %}
{{ render(controller('ProductProductBundle:Product:SearchByName',{'request': app.request,})) }}
{% endblock %}
</div>
這是我需要你的幫助樹枝resultss頁
<ul>
\t {% for product in listProducts %}
<li>{{ product.name }}</li>
{% endfor %}
</ul>
的觀點我怎樣才能解決這個問題?
很顯然,你不能從嵌入式控制器重定向。可能的重複[Symfony 2:302 http狀態和異常](http://stackoverflow.com/questions/26042633/symfony-2-302-http-status-and-exception) – mickdev
請爲此操作添加您的路由配置。 – Cone