sjelfull/imgix

此包已被弃用且不再维护。未建议替代包。
此包的最新版本(1.0.7)没有可用的许可证信息。

使用 Imgix 与 Craft 2.x

维护者

详细信息

github.com/sjelfull/imgix

源代码

问题

安装: 76

依赖: 0

建议者: 0

安全: 0

星标: 11

关注者: 4

分支: 5

开放问题: 0

类型:craft-plugin

1.0.7 2018-03-12 09:30 UTC

This package is auto-updated.

Last update: 2022-12-09 12:54:27 UTC


README

这是 Craft 2 版本,已被弃用。Craft 3+ 版本可在此处找到:https://github.com/sjelfull/craft3-imgix

Imgix 真的很棒

Screenshot

安装

要安装 Imgix,请按照以下步骤操作

  1. 下载并解压文件,将 imgix 目录放置到您的 craft/plugins 目录中
  2. 在 Craft 控制面板的设置 > 插件下安装插件
  3. 插件文件夹应该命名为 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,
                ];
            },
        ],
    ]
];

懒加载

要替换 srcsrcsetdata-srcdata-srcset 以进行懒加载,请向 transformImage() 添加 lazyLoad 属性。

如果您需要使用除 data- 之外的前缀,您可以在 craft/config/imgix.php 中设置配置值 lazyLoadPrefix

Imgix 路线图

  • 整理一下
  • 添加文档
  • 研究改进 srcset/API

Imgix 更新日志

1.0.0 -- 2017.04.03

  • 首次发布

Superbig 提供