i-lateral / silverstripe-deferedimages
延迟加载模板图片
1.1.4
2019-10-21 16:07 UTC
Requires
README
模块,首先以非常低分辨率版本加载图片,然后使用JavaScript加载完整版本
现在实现heyday/silverstripe-responsive-images,无需任何额外配置。只需按常规配置响应式图片模块,并在模板中调用即可。
安装
通过Composer安装
composer require i-lateral/silverstripe-deferedimages
设置
默认情况下,如果可用,将添加到PageController
。可以通过config.yml将此添加到额外的控制器中。
<YourController>:
extensions:
- ilateral\SilverStripe\DeferedImages\ControllerExtension
主题
此模块有一个小的主题插件,需要在config.yml中将它添加到您的主题堆栈中,以便加载其模板。
SilverStripe\View\SSViewer:
themes:
- 'custom' //your_theme
- 'deferedimages'
- '$default'
或者,您可以将模板复制到您自己的主题中。
配置
默认情况下,所有在模板中使用标准$Image.Type()
调用的图片都将被延迟加载。
可以通过配置自定义临时图片的大小、质量和外观。
ilateral\SilverStripe\DeferedImages\DeferedImage:
pixelate: 15 // Applies a pixelation effect to the current image with a given size of pixels.
blur: 50 // Apply a gaussian blur filter with a optional amount on the current image. Use values between 0 and 100.
quality: 10 // Define the quality of the encoded image. Data ranging from 0 to 100.
scale: 100 // Will resize the image to a percentage amount. 100 = current size, 50 = half size, etc.
limit: 1000 // sets a maximum width for the defered image - will force scaling if original image is larger than this.
要启用在HTMLEditorField
中添加的图片的延迟加载,您需要通过_config.php启用包含的短代码解析器。
<?php
use SilverStripe\View\Parsers\ShortcodeParser;
use ilateral\SilverStripe\DeferedImages\DeferedImageShortcodeProvider;
ShortcodeParser::get('default')
->register('image', [DeferedImageShortcodeProvider::class, 'handle_shortcode']);