crachecode/prestajine

此包已废弃,不再维护。未建议替代包。

PrestaShop 模块,使用 Intervention Image 改善图片管理

v2.0.0 2017-11-08 06:13 UTC

This package is not auto-updated.

Last update: 2024-06-08 02:12:32 UTC


README

警告

此仓库已过时。

开发已迁移至 GitLab

Prestajine

Prestajine 是一个 PrestaShop 模块,它可以帮助生成图片和缩略图,直接在主题模板文件中提供尺寸,无需从管理面板进行额外管理。它基于 Tajine,该软件利用了 Intervention Image 库。

特性

Prestajine 是 PrestaShop 原始图片管理器的替代品。
它允许您以灵活的方式创建任意尺寸的图片和缩略图,不添加任何纯色背景。所需的图片尺寸和参数应直接在主题模板中定义,同时在调用 <img src="...
缩放和缓存由 Tajine 处理。

目前它仅适用于产品图片和 jpg。

要求

Prestajine 需要 PHP 5.6 或更高版本。它与 PrestaShop 的任何版本都兼容。其缓存功能可以利用 Apache mod_rewrite,它还允许更简单的图片 URL,但 Apache 不是必需的。不过,Tajine 未在其他 HTTP 服务器上进行测试。

安装

  1. 下载 此 zip 文件

  2. 从 PrestaShop 管理面板上传
    模块和服务 -> 添加新模块 -> 选择文件 -> 上传此模块

  3. 安装它
    Prestajine -> 安装

使用 Prestajine

任何尺寸的图片都可以通过 HTTP 访问。
只需从主题模板按照此语法调用 <img src="{$base_dir}images/{$image.id_image}...

{$base_dir}images/{$image.id_image}-[image-name].[width]x[height].[method].[quality].[upsize].jpg

例如:

  • {$base_dir}images/{$image.id_image}-product-1.1280x1024.basic.90.false.jpg(宽度 = 1280px,高度 = 1024px,基本方法,jpg 质量值 90,不放大)
  • {$base_dir}images/{$image.id_image}-product-1.1280x.false.jpg(宽度 = 1280px,未指定高度,不放大)
  • {$base_dir}images/{$image.id_image}-product-1.x1024.jpg(高度 = 1024px,未指定宽度)

参数

名称 值类型 描述 默认值
宽度 整数 缩略图宽度(像素) 不适用
高度 整数 缩略图高度(像素) 不适用
方法 basicfitmax 缩放行为,见下一段 fit
质量 整数,0100 缩略图质量,越大越好,但文件更重 85
upsize 布尔值 是否应该将小图片放大以匹配更大的缩略图大小 true
文本 字符串 图片名称(例如,产品的名称) 不适用

方法 可以设置为:

  • basic:图像将被调整到确切尺寸,而不保持纵横比。
  • fit:图像将被调整以适应指定的宽度和/或高度,同时保持纵横比。
    如果只指定了一个维度,则未指定的维度(宽度或高度)将根据另一个维度进行调整。
    如果两个都指定了,则如果需要,图像将被裁剪。
  • max : 图像将被调整大小以适应指定的宽度和/或高度,同时保持纵横比,不裁剪。

不使用mod_rewrite

即使不使用mod_rewrite或使用除Apache之外的HTTP服务器,您仍然可以使用此模块。然而,从模板调用图像的URL会有所不同(并且不那么美观)

{$base_dir}modules/prestajine/image.php?filename={$image.id_image}-product-1.jpg&width=[width]&height=[height]&method=[method]&quality=[quality]&upsize=[upsize]

例如:

  • {$base_dir}modules/prestajine/image.php?filename={$image.id_image}-product-1.jpg&width=1280&height=1024&method=basic&quality=90&upsize=false
  • {$base_dir}modules/prestajine/image.php?filename={$image.id_image}-product-1.jpg&height=1024

注意

缩略图在访问显示它们的页面时生成。
生成的缩略图以图像文件的形式保存在/img/prestajine目录中。
当使用mod_rewrite时,这些文件名与为图像生成提供的URL中的字符串相同。因此,Apache甚至不需要处理PHP来显示缓存的版本。
它们可以安全地被删除以重新生成。