thomasvantuycom / craft-cloudinary
Craft CMS 的 Cloudinary 集成。
Requires
- php: ^8.2
- cloudinary/cloudinary_php: ^2.11.0
- craftcms/cms: ^5.0.0
- craftcms/flysystem: ^2.0.0
- thomasvantuycom/flysystem-cloudinary: ^1.0.4
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/phpstan: dev-main
README
此插件将 Cloudinary 与 Craft CMS 集成。可以从 Craft 的控制面板上传资产,然后由 Cloudinary 进行转换和交付,即使存储在不同的文件系统中。该插件与您的现有 Craft 模板代码和命名图像转换兼容。
要求
此插件需要 Craft CMS 5.0.0 或更高版本,以及 PHP 8.2 或更高版本。
安装
您可以从插件商店或使用 Composer 安装此插件。
从插件商店
前往项目控制面板中的插件商店,搜索“Cloudinary”,然后按“安装”。
使用 Composer
打开您的终端并运行以下命令
# go to the project directory cd /path/to/my-project.test # tell Composer to load the plugin composer require thomasvantuycom/craft-cloudinary # tell Craft to install the plugin ./craft plugin/install cloudinary
设置
该插件为 Craft 添加了一个 Cloudinary 文件系统类型。它可以仅作为转换文件系统使用,也可以作为存储文件系统使用。
要创建一个新的 Cloudinary 文件系统以与您的卷一起使用,请访问 设置 → 文件系统,然后按 新建文件系统。将“文件系统类型”设置为“Cloudinary”并按需配置。
要开始使用文件系统,请访问 设置 → 资产 → 卷。在这里,您可以使用 Cloudinary 文件系统创建新的卷,用于存储和转换,或者仅为转换添加 Cloudinary 文件系统到任何现有卷。在后一种情况下,任何具有公共 URL 的资产(来自任何本地或远程文件系统)都将由 Cloudinary 使用 获取功能 进行转换。这可能在本地开发设置中不起作用。
图像转换
该插件支持 Craft 的所有原生转换选项 。这些可以在 设置 → 资产 → 图像转换 下找到。
此外,您还可以将 Cloudinary 的转换选项 中的任何一个纳入您在模板中定义的转换中,如下所示
{% set thumb = {
width: 100,
height: 100,
quality: 75,
opacity: 33,
border: '5px_solid_rgb:999',
} %}
<img src="{{ asset.getUrl(thumb) }}">
转换选项应使用驼峰命名法,即 aspect_ratio 变为 aspectRatio,或 fetch_format 变为 fetchFornat。
Webhook 通知
为了使Craft与直接在Cloudinary中进行的更改保持一致,请启用webhook通知。只需访问您的Cloudinary设置并添加一个新的通知URL。将其指向您的网站的基础URL,后跟/actions/cloudinary/notifications/process?volume={VOLUME_ID}。请记住,将{VOLUME_ID}替换为相关的资产卷ID,您可以在卷设置页面的URL中找到该ID。启用相关的通知类型:upload(上传)、delete(删除)、rename(重命名)、create_folder(创建文件夹)和delete_folder(删除文件夹)。请注意,此设置仅在本地开发中在您的本地域名可通过如ngrok等服务公开访问时才有效。此外,请注意,webhook可能会在大批量操作中遇到困难。如果您经常在Cloudinary控制台中进行大量更改,请考虑重新索引您的资产卷。