Drupal使用文件(字段)路径模块设置上载文件

时间:2016-04-15 07:44:35

标签: drupal drupal-files

这是我的设置:

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

  • "Audio"已将上传目录提交至:media/books(音频字段由Audiofiled模块提供)
  • "Book"字段术语参考

"Book"词汇表包含一个名为"Folder"的文本字段,其中包含每本书的文件夹名称。 我想使用该字段值将其附加到文件路径,以便在该子文件夹中上传音频文件。

它将文件上传到临时文件夹中,但不是正确的文件夹,例如如果对于"Book"字词"Book 1""Folder"字段值为"book_1",我希望将音频文件上传到"media/books/book_1"文件夹中。

我正在使用文件(字段)路径模块,我不知道如何正确配置它。 在我的"Audio"字段中,我将文件路径设置设置为

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

但没有任何事情发生。也许我没有使用正确的令牌或其他问题?

1 个答案:

答案 0 :(得分:1)

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

为此你需要安装几个模块。您需要实体令牌模块(它带有entity API模块)并且您已经拥有file paths模块。

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

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

    文件(字段)路径模块临时上传文件在默认文件夹目标上(因为您需要设置该目录的路径而不使用令牌 - 在您的案例/媒体/书籍中)。保存节点并向Drupal提供节点令牌值后,文件将移动到所需的目标位置(在您的情况下为/ media / books / token_values)。

    <强>增加:

    排队:

    media/books/[node:field-book]
    

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

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

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

    因此,如果您为第1册设置了文件夹值book_1,为第2册设置了book_2,等等......

    在上传过程中选择“预订1”时,您应该可以上传文件

    media/books/book_1 
    

    media/books/book_2
    

    注意:如果/更改标记值,Drupal不会删除已创建的文件夹。

    希望这有帮助。