2016-04-26 54 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方法沒有任何返回!