我现在开始使用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");
}
}
好吧,我将继续学习这个框架,但我今天需要结束这个问题。 :(
有人可以帮我这个吗?
非常感谢!
答案 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')
);
}