2016-04-15 104 views
0

這是我的設置:與文件Drupal的文件上傳(場)路徑模塊設置

內容類型媒體包含下一字段:

提起
  • "Audio"與上傳目錄:media/books(音頻場通過Audiofiled模塊)
  • "Book"場項參考提供

"Book"詞彙表包含一個名爲"Folder"的文本字段,其中包含每本書的文件夾名稱。 我想要使用該字段值將其附加到文件路徑以上載該子文件夾中的音頻文件。

它將文件上傳到臨時文件夾中,但不是正確的文件,例如,如果爲"Book" term "Book 1","Folder"字段值爲"book_1",我希望將音頻文件上傳到"media/books/book_1"文件夾中。

我正在使用文件(字段)路徑模塊,我不知道如何正確配置它。 在我"Audio"場我設置的文件路徑設置爲

"media/books/[node:field-book:field-folder]"

但什麼也沒有發生。也許我不使用正確的標記或其他問題?

回答

1

您的詞彙表中不需要「文件夾」字段。這裏的問題是Drupal的核心文件模塊不支持基於實體的令牌。

爲此,您需要安裝幾個模塊。您需要實體令牌模塊(它帶有entity API模塊),並且您已有file paths模塊。

  1. 安裝entity API模塊,使實體令牌
  2. 設置你的文件目錄路徑音頻領域:傳媒/書籍
  3. 在設置默認路徑文件目錄能夠在音頻領域的文件(現場)路徑媒體內容類型
  4. 沒有改變你的文件路徑:媒體/書籍/ [節點:現場書]

現在你應該有你想要的東西。

當您選擇要上傳的文件並單擊上傳按鈕時Drupal無法從參考術語中獲取路徑,因爲您選擇的值尚未通過Drupal核心進行分析。即使當您嘗試保存內容而沒有以前點擊上傳按鈕Drupal核心將首先嚐試上傳選定的文件,但它不會知道目的地。

默認文件夾目標文件(字段)路徑模塊臨時上載文件(因爲您需要設置不帶令牌的目錄的路徑 - 在您的案例/媒體/書籍中)。一旦你保存了節點,並且Drupal提供了節點令牌值,文件就會移到所需的目的地(在你的案例/ media/books/token_values中)。

增加:

在行:

media/books/[node:field-book] 

令牌值從書場取自這是由你的詞彙定義你的媒體類型。重命名標記值意味着將您的分類術語重命名爲與您的書相關的名稱。如果你已經有服務器上的文件夾,你不能重命名,那麼你的詞彙表中有另一個字段是不錯的選擇。

文件(現場)路徑在音頻領域中的媒體內容,類型應該是:

media/books/[node:field-book:field-folder] 

所以,如果你設置你的文件夾值book_1爲1冊,book_2爲2冊,等等

當您選擇「1冊」上載過程中,你應該能夠在

media/books/book_1 

上傳文件
media/books/book_2 

注意:如果/當您更改標記值時,Drupal不會刪除已創建的文件夾。

希望這會有所幫助。

+0

感謝您花時間和精力回答問題。 這是一個進步!但仍然沒有得到我想要的。 例如我的書名是「Book 1」,這是一個分類術語名稱,但我已經在/ media/books中的文件夾名爲book_1。我需要將我的mp3文件上傳到book_1文件夾。 在我按照你的建議做了什麼之後,drupal在我的media/books文件夾中創建了名爲Book 1的新文件夾。 這就是爲什麼我在分類詞彙表中創建字段文件夾的原因。每本書都有一個普通的標題和它的文件夾,它們在視覺上進行排序的目的不同。 –

+0

我沒有得到你想要的...請更具體地...你想上傳「media/books/book_1」文件夾中的文件。相反,你在這裏得到的文件上傳到media/books/Book 1.所以重命名標記值?將book 1預訂到book_1。你可以在詞彙表中提交「文件夾」,但我不明白爲什麼你需要它來上傳文件... – Darko

+0

我的邏輯是,由於書名與他們的子文件夾名稱不同(文件夾已在服務器上),因此我想要在每本書的字段中存儲適當的文件夾名稱,以便在通過標記添加節點時,可以使用它追加到媒體/書籍路徑。這是我的文件夾字段存在的原因。但我明白,我不需要它,因爲當節點正在保存/保存時,drupal不知道這個值。我有大約100本書,書名不同於子文件夾名稱。如何對drupal說特定圖書的文件夾在哪裏? –

相關問題