我正在使用form_alter自定义内容类型的节点/添加和节点/编辑表单;在我的内容类型中,有一个文件字段允许将文件上载到内容。 我想做的是通过使用Ajax更改运行时编写的文件的链接来自定义文件框:如何在不修改Drupal核心的情况下执行此操作?
提前致谢和问候 角
答案 0 :(得分:1)
您的私人文件目录不应位于docroot中。正如你在评论中指出的那样,用.htaccess规则隐藏它是行不通的。
假设您在/var/www/sites/example.com/
中有Drupal,那么您不应该将您的私人文件存储在该目录下; /var/www/sites/example.com/sites/default/private/files/
是完全错误的。
您应该将文件存储在apache不会为其提供服务的位置,而是可以读取它们。例如。在/var/www/files/example.com/
。然后更改Drupal中的设置以使用该绝对路径。
如果您正在运行一个大型(r)站点,您可能希望将文件存储在专用的挂载(驱动器,NFS等)上,比如/media/nfs-example-com/
。
答案 1 :(得分:0)
尝试文件字段路径:
FileField Paths模块通过添加在目标路径和文件名中使用节点令牌的功能,扩展了Drupals核心上载模块,FileField模块和许多其他文件上载模块的默认功能。