sjelfull / imgix
此包已被弃用且不再维护。未建议替代包。
此包的最新版本(1.0.7)没有可用的许可证信息。
使用 Imgix 与 Craft 2.x
1.0.7
2018-03-12 09:30 UTC
Requires
- composer/installers: ~1.0
- imgix/imgix-php: ^1.1
README
这是 Craft 2 版本,已被弃用。Craft 3+ 版本可在此处找到:https://github.com/sjelfull/craft3-imgix
Imgix 真的很棒
安装
要安装 Imgix,请按照以下步骤操作
- 下载并解压文件,将
imgix
目录放置到您的craft/plugins
目录中 - 在 Craft 控制面板的设置 > 插件下安装插件
- 插件文件夹应该命名为
imgix
,以便 Craft 能够识别。
Imgix 在 Craft 2.4.x 和 Craft 2.5.x 上运行。
配置 Imgix
将 config.php
复制到 Craft 的 config
文件夹中,并将其重命名为 imgix.php
。
然后根据示例将您的资产源句柄映射到您的 Imgix 域。
此插件将查找资产图片的源句柄,并确定要使用的 Imgix 域。如果传递了 URL 字符串,它将使用配置文件中的第一个域。
要自动在删除/保存时清除图片或在手动清除时,您必须将您的 API 密钥添加到配置文件中。
使用 Imgix
{% set transforms = [ { width: 400, height: 300 }, { width: 940, height: 520 }, { width: 1400, }, ] %} {% set defaultOptions = { sharp: 10 } %} {% set firstImage = craft.imgix.transformImage( asset, { width: 400, height: 350 }) %} {% set secondImage = craft.imgix.transformImage( asset, transforms) %} {% set thirdImage = craft.imgix.transformImage( asset, { width: 1920, ratio: 16/9}) %} {% set fourthImage = craft.imgix.transformImage( asset, transforms, defaultOptions) } {# Image tag #} {{ firstImage.img() }} {# Get url for the first image #} {{ firstImage.getUrl() }} {# Image tag w/ srcset + tag attributes #} {{ secondImage.srcset({ width: 700 }) }} {# Image tag w/ srcset + default options for each transform #} {{ fourthImage.srcset( {} ) }} {# Image tag w/ lazyload #} {{ firstImage.img({ lazyLoad: true }) }} {# Image tag w/ srcset + lazyLoad #} {{ secondImage.srcset({ lazyLoad: true }) }} {# See transformed results #} {{ dump(secondImage.transformed) }}
要使用 Element API,您可以直接调用该服务
<?php namespace Craft; return [ 'endpoints' => [ 'news.json' => [ 'elementType' => ElementType::Entry, 'criteria' => ['section' => 'news'], 'transformer' => function(EntryModel $entry) { $asset = $entry->featuredImage->first(); $featuredImage = craft()->imgix->transformImage( $asset, [ 'width' => 400, 'height' => 350 ]); return [ 'title' => $entry->title, 'url' => $entry->url, 'jsonUrl' => UrlHelper::getUrl("news/{$entry->id}.json"), 'summary' => $entry->summary, 'featuredImage' => $featuredImage, ]; }, ], ] ];
懒加载
要替换 src
和 srcset
为 data-src
和 data-srcset
以进行懒加载,请向 transformImage()
添加 lazyLoad
属性。
如果您需要使用除 data-
之外的前缀,您可以在 craft/config/imgix.php
中设置配置值 lazyLoadPrefix
。
Imgix 路线图
- 整理一下
- 添加文档
- 研究改进 srcset/API
Imgix 更新日志
1.0.0 -- 2017.04.03
- 首次发布
由 Superbig 提供