Symfony2 - 渲染控制器显示空白页面

时间:2015-10-16 14:38:01

标签: symfony controller twig symfony-cmf

我现在开始使用symfony进行开发,并且我使用Symfony CMF在CMS中工作,我需要在php和JS中创建一些函数,以插入到运行页面或现有模板中。

我在主控制器上为这个模板创建了一个Action,我尝试用这条线在树枝内渲染控制器:

{{ render(controller('siteCmsBundle:Article:fish')) }}

但这会返回一个空白页面,我也尝试了这段代码:

{% render 'siteCmsBundle:Article:fish' %}

返回路由错误(逻辑)。

控制器是:

<?php

namespace site\Bundle\CmsBundle\Controller;

use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Wf\Bundle\CmsBaseBundle\Controller\ArticleController as BaseArticleController;
use  Wf\Bundle\CmsBaseBundle\Entity\Collection\Module\PageCompositeEditorModule;

class ArticleController extends BaseArticleController
{

   ...

    /**
     * @Template()
     */
    public function fishAction(){

        return new Render("Test");
    }
}

好吧,我将继续学习这个框架,但我今天需要结束这个问题。 :(

有人可以帮我这个吗?

非常感谢!

1 个答案:

答案 0 :(得分:2)

使用注释并返回单个数组。

/**
 * @Template()
 */
public function fishAction(){

    return 
        array('fish' => 'saumon');
}

OR 添加到方法render()谁扩展Controller类的模板。

public function fishAction(){
    return $this->render(
        'siteBundle:CmsBundle:fishTemplate.html.twig',
        array('fish' => 'saumon')
    );
}