Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从其他控制器获取部分页面_Php_Symfony - Fatal编程技术网

Php 如何从其他控制器获取部分页面

Php 如何从其他控制器获取部分页面,php,symfony,Php,Symfony,我的网站我有一些内容可以投票(+/-)。当所有内容都有自己的投票者时,它现在运行良好。 现在,我正在寻找一种方法,用一个实体(votedModel、votedId、user、vote)创建一个投票包。 基本上,包已经准备好了。我的问题是如何使用它。我希望能够做到以下几点: class ... extends Controller { function showAction(Request $request,$id) { ... $voter=new Vot

我的网站我有一些内容可以投票(+/-)。当所有内容都有自己的投票者时,它现在运行良好。 现在,我正在寻找一种方法,用一个实体(votedModel、votedId、user、vote)创建一个投票包。 基本上,包已经准备好了。我的问题是如何使用它。我希望能够做到以下几点:

class ... extends Controller {
    function showAction(Request $request,$id) {
        ...
        $voter=new Voter('myCOntentType',$id,$userid);

        ...
        return $this->render('...', array('voter'=>$voter->getVoter(),...))
    }
}
getVoter()将创建投票者视图

  • 但我不知道该怎么开始。我试图以这种方式调用另一个控制器,但无法创建投票者表单

  • 它使用了
    $voter=$this->forward('VoterbundleNewAction',array('id=>$id,'user'=>$user)->getContent();

    但我没有想到这一点


我认为我的方法是完全错误的,我可能需要作为服务来做这件事。我找不到自己的方法。

你可以在你的小枝模板中使用“包含”或“渲染”来获取其他模板的输出。因此,你可以创建一个模板(例如,voter.html.twig)它包含投票系统的HTML,在小树枝中,在需要投票人的任何地方,您都可以使用:

{% include "AcmeVoterBundle:Voter:voter.html.twig" %}

在第一个示例中,您只需包含另一个模板(另请参见:),在后一种情况下,您实际执行控制器的另一个操作方法,并将其输出放入当前模板中(另请参见:)

{% render "AcmeVoterBundle:Voter:voter" with {"item": item} %}