2016-04-26 117 views
-1

我对symfony相当陌生,目前我正在用它做一个学校项目。SonataMediaBundle:允许用户上传链接

我必须做一个功能,我的用户可以上传youtube链接视频(如博客文章,但与视频)。所以我决定使用sonataMediaBundle处理我的链接上传。

我已经安装了SonataAdminBundle和SonataUserBundle。它可以让我的CMS已经设置,但我发现只有管理员可以上传链接,我无法找到如何让我的用户上传链接视频,而无需让他们访问我在SonataMediaBundle中的所有CMS。

好吧我正在进行我的项目,我简单地(没有奏鸣曲)。我有一个问题与教条,我无法检索我的数据库对象。

我跟着symfony文档,所以我有我的“showAction”。

public function showAction($id) 
{ 
    $video = $this->getDoctrine() 
     ->getRepository('MediaBundle:Media') 
     ->find($id); 

    if (!$video) { 
     throw $this->createNotFoundException(
      'No video found for id '.$id 
     ); 
    } 

    return $this->render("MediaBundle:LinkUpload:linkupload.html.twig", array(
     'video' => $video, 
    )); 
} 

然后在我的模板,我做:

{% for item in video %} 
    {{ item.name }} 
{% endfor %} 

我也试过没有ID参数和使用的findAll()代替find()方法,但我总是得到一个错误,告诉我的变量“视频”不存在。

对此有何想法?

我也想知道:您如何正确上传YouTube视频链接?我正在考虑放置一个标签,并要求用户每次都上传嵌入的YouTube链接,但这样做并不复杂吗? (对于我的意思是用户)。

在此先感谢您的即将到来的答案!

+0

你不应该需要一个包来做到这一点。它是一个简单的例子,创建一个实体来保存数据,然后将这些数据渲染成模板。走开,如果你陷入困境,让我们看看你的尝试。 – DevDonkey

回答

0

问题解决了!我在我的showAction方法之前返回了另一个方法,这意味着我的showAction方法没有任何返回!