Drupal重用模块

Drupal重用模块,drupal,drupal-7,drupal-modules,Drupal,Drupal 7,Drupal Modules,我是Drupal的新手,但我一直在学习模块开发,我设法使用块和jQuery完成了一些功能。但需求越来越大,在某种程度上,用户希望上传图像,并将其裁剪成缩略图,然后在其他块中显示。 我知道在一些社区模块中,特别是ImageFieldCrop中已经实现了这种精确的行为,所以我想使用它。。。然而,我想保存上传的图像和裁剪的一个,在我的自定义模块内的文件夹。那么问题是?我如何扩展该模块?。。。是否有必要重写代码以指向正确的路径???或者有没有办法拦截钩子方法?。由于我是drupal开发的新手,如果这听起

我是Drupal的新手,但我一直在学习模块开发,我设法使用块和jQuery完成了一些功能。但需求越来越大,在某种程度上,用户希望上传图像,并将其裁剪成缩略图,然后在其他块中显示。
我知道在一些社区模块中,特别是ImageFieldCrop中已经实现了这种精确的行为,所以我想使用它。。。然而,我想保存上传的图像和裁剪的一个,在我的自定义模块内的文件夹。那么问题是?我如何扩展该模块?。。。是否有必要重写代码以指向正确的路径???或者有没有办法拦截钩子方法?。由于我是drupal开发的新手,如果这听起来像一个基本问题,我很抱歉。。。无论如何,如果有人能给我提供一些链接或教程,展示如何在我创建的钩子上拦截钩子或使用其他模块代码,那就太好了。非常感谢

如果您希望允许用户上传图像和文件,那么最好使用“文件字段”来实现,D7中的“文件字段”成为其核心模块集的一部分。添加和配置字段时(作为内容类型创建过程的一部分),您有机会设置要保存文件的路径

JS裁剪和图像样式

关于作物解决方案,我可以推荐该模块。这允许用户为每个上传的图像定义多个不同的裁剪区域,并使用交互式JS小部件来实现。它与D7的“图像样式”(在D6中正式称为imagecache)保持一致,允许高效地重用和操作图像;e、 g.您的用户上传一张高分辨率图像,并且可以创建变体,以便在您站点周围的各个地方使用

创建样式后,可以使用API主题调用()以编程方式添加样式

避免忽略既定惯例

然而,Drupal作为一个系统设置了许多约定,理想情况下应该遵循这些约定

对于源于用户的文件,最好将其存储在站点的文件目录中。Drupal使用两种类型的文件访问—public,它不考虑任何类型的访问权限,private—它允许应用访问限制。选择将文件存储在模块目录中,可能会给您自己或任何未来的开发人员带来问题


我建议不要将这些文件保存在您的模块目录中,除非您有很好的理由这样做。

这完全取决于您要扩展的模块,如果模块贡献者提供了拦截钩子的功能,是的,这是最好的选择,否则需要重新编写代码-没有其他选择。据我回忆,不允许模块在包含模块的目录中创建文件;这是Drupal使用的默认文件权限。