0

这是我的设置:

内容类型媒体包含下一个字段:

  • "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]"

但什么都没有发生。也许我没有使用正确的令牌或其他问题?

4

1 回答 1

1

您的词汇表中不需要“文件夹”字段。这里的问题是 Drupal 的核心文件模块不支持基于实体的令牌。

为此,您需要安装几个模块。您需要实体令牌模块(它带有实体 API模块)并且您已经有了文件路径模块。

  1. 安装实体 API模块并启用实体令牌
  2. 将音频字段的文件目录路径设置为:media/books
  3. 为文件目录设置默认路径后,在您的媒体内容类型中启用音频字段中的文件(字段)路径
  4. 更改您的文件路径:media/books/[node:field-book]

现在你应该有你想要的了。

当您选择要上传的文件并单击上传按钮时,Drupal 无法从参考术语中获取路径,因为您选择的值尚未通过 Drupal 核心解析。即使您尝试保存内容而不事先单击上传按钮,Drupal 核心也会首先尝试上传选定的文件,但它不会知道目的地。

文件(字段)路径模块在默认文件夹目标上临时上传文件(因为您需要在没有令牌的情况下设置该目录的路径 - 在您的情况下为 /media/books)。保存节点并为 Drupal 提供节点令牌值后,文件将移动到所需的目的地(在您的情况下为 /media/books/token_values)。

添加:

排队:

media/books/[node:field-book]

令牌值取自您的词汇表定义的媒体类型的书籍字段。重命名标记值意味着将您的分类术语重命名为与您的书籍相关的名称。如果您在服务器上已经有无法重命名的文件夹,那么在您的词汇表中添加另一个字段是一个不错的选择。

媒体内容类型中音频字段中的文件(字段)路径应为:

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

因此,如果您将文件夹值 book_1 设置为 Book 1,book_2 设置为 Book 2,等等...

当您在上传过程中选择“Book 1”时,您应该能够上传文件

media/books/book_1 

或者

media/books/book_2

注意:如果/当您更改令牌的值时,Drupal 不会删除创建的文件夹。

希望这可以帮助。

于 2016-04-15T11:54:24.333 回答