SonataMediaBundle:允许用户上传链接

时间:2016-04-26 13:10:52

标签: php symfony sonata sonata-media-bundle

我是symfony的新手,我目前正在做一个学校项目。

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

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

好的我正在进行我的项目,我简单地完成了(没有Sonata)。我有一个学说问题,我无法检索我的数据库对象。

我关注了symfony doc,所以我有了“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()但我总是得到一个错误,告诉我的变量“video”不存在。

有什么想法吗?

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

提前感谢您即将推出的答案!

1 个答案:

答案 0 :(得分:0)

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