toutouwai/unique-image-variations

一个ProcessWire模块,确保所有ImageSizer选项都影响图像变体文件名。

0.1.6 2023-11-10 05:41 UTC

This package is auto-updated.

Last update: 2024-09-10 07:41:03 UTC


README

ProcessWire CMS/CMF的模块。确保所有ImageSizer选项和焦点设置都影响图像变体文件名。

uiv

背景

当使用生成图像变体的方法,如Pageimage::size()时,ProcessWire会将一些ImageSizer设置(高度、宽度、裁剪位置等)包含在变体文件名中。这样做很有用,因为如果更改这些设置,就会生成新的变体,并且您可以在前端看到这个变体。

但是,ProcessWire没有将其他一些ImageSizer设置包含在变体文件名中

  • upscaling
  • cropping,当设置为false或空白字符串时
  • interlace
  • sharpening
  • quality
  • hidpi quality
  • focus(是否任何保存的图像焦点区域会影响裁剪)
  • focus data(焦点区域的top/left/zoom数据)

这意味着,如果您更改了这些设置中的任何一个,无论是在$config->imageSizerOptions中还是在传递给如size()方法等的数组中,并且您已经有请求大小/裁剪的变体,那么ProcessWire将不会创建新的变体,并且将继续提供旧的变体。换句话说,您将不会在前端看到更改的ImageSizer选项的效果,直到您删除旧的变体。

功能

Unique Image Variations模块确保ImageSizer选项的任何更改以及页面编辑中做出的焦点区域更改都反映在变体文件名中,因此将始终生成并显示在前端的新变体。

安装

安装Unique Image Variations模块。安装

在模块配置中,设置要包含在图像变体文件名中的ImageSizer选项。

警告

安装模块(并保留模块配置中选定的一个或多个选项)将在下一次请求时导致所有现有图像变体被重新生成。如果您有一个包含大量图像的现有网站,您可能不希望有性能影响。该模块可能最适合尚未生成图像变体的新网站。

同样,如果您更改现有网站的模块配置设置,则所有图像变体将在下一次请求时被重新生成。

如果您认为您可能希望在将来更改ImageSizer选项(我主要是指如interlace之类的选项,通常在$config->imageSizerOptions中设置)并且不希望此更改导致现有的图像变体被重新生成,那么最好在首次安装模块后不要在模块配置中将该选项包括在内。