我对 symfony 还很陌生,我目前正在用它做一个学校项目。
我必须创建一个功能,让我的用户可以上传 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() 但我总是收到错误消息,告诉我我的变量“video”不存在。
有什么想法吗?
我也想知道:您如何正确上传 youtube 链接视频?我正在考虑放置一个标签并要求用户每次都上传嵌入的 youtube 链接,但这样做不是很复杂吗?(对于我的意思是用户)。
提前感谢您即将提供的答案!