如何自定义 Drupal 的 ImageZoom 模块

how to customise Drupal's ImageZoom module

我使用的版本是 7.x-2.0-beta2

包含在模块中的是 imagezoom.api.php

据我了解;这是您将任何 customisations 应用于图像缩放功能的文件。 我假设您必须将此文件复制到您自己的站点特定模板目录中,以防止它在任何模块更新期间被覆盖。

所以原文在sites/all/modules/imagezoom/imagezoom.api.php

我复制了一份并移到了sites/all/themes/[my_site_name]/templates/system/imagezoom.api.php

但是我对此文件所做的更改并没有反映在网站上。 (我已经尝试了两个路径位置的更改)

这个文件中的函数很简单:

function hook_imagezoom_settings_alter(&$settings, $context) {
  // Change the border color to red
  $settings['borderColour'] = '#f00';
  $settings['responsive'] = TRUE;
}

谁能告诉我必须将此文件放在哪里才能让模块注意到它?

您需要 create a custom module 然后在 mymodule.module 文件中创建一个函数来替换钩子函数,如下所示:

function mymodule_imagezoom_settings_alter(&$settings, $context) {
  // Change the border color to red
  $settings['borderColour'] = '#f00';
  $settings['responsive'] = TRUE;
}

从上面的函数中替换你想要的任何东西,清除你的缓存,你应该可以开始了。

在我上面提供的 link 中,如果您仍然遇到问题,请深入查看“Implementing your own hook”部分。

挂钩工作后,您可以使用 dpm 函数查看页面可以看到的当前值。 devel 模块需要打开才能工作。在你的情况下,你可能想这样做:

dpm($settings);

并从那里修改值。