sieulog/yii2-imagecache

本包的最新版本(0.2)没有可用的许可信息。

Yii2的ImageCache

安装: 53

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 12

类型:yii2-extension

0.2 2014-12-04 07:39 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:04:20 UTC


README

类似于Drupal中的Image模块,本扩展可以按需调整您的图片大小 :-)。如果缩略图不存在,则Web服务器的重写规则会将请求传递给Yii,然后由ImageCache动态生成文件。

进行中...

特性

  • 按需调整图片大小
  • 文本水印
  • 图片水印

安装

安装此辅助工具的首选方法是使用 composer

运行以下命令

php composer.phar require "iutbay/yii2-imagecache" "*"

或将以下内容添加到您应用程序的 composer.json 文件的require部分。

"iutbay/yii2-imagecache" : "*"

配置

您应该在

  • 控制器中添加 ThumbAction
  • 修改您的应用程序配置
    • 添加 imageCache 组件,
    • 添加处理请求缺失缩略图的url规则。

添加 ThumbAction

您需要在控制器中添加 ThumbAction,以便imageCache可以处理对缺失缩略图的请求并在按需创建它们。您可以使用 site 控制器

class SiteController extends Controller
{
  ...
  public function actions()
  {
      return [
        ...
        'thumb' => 'iutbay\yii2imagecache\ThumbAction',
        ...
      ];
  }
  ...
}

imageCache 组件配置

您应该在应用程序配置中添加 imageCache 组件

$config = [
    'components' => [
      ...
      'imageCache' => [
        'class' => 'iutbay\yii2imagecache\ImageCache',
        'sourcePath' => '@app/web/images',
        'sourceUrl' => '@web/images',
        //'thumbsPath' => '@app/web/thumbs',
        //'thumbsUrl' => '@web/thumbs',
        //'sizes' => [
        //    'thumb' => [150, 150],
        //    'medium' => [300, 300],
        //    'large' => [600, 600],
        //],
      ],
      ...
    ],
];

urlManager 配置

您应该启用美观的URL

https://yiiframework.cn/doc-2.0/guide-start-installation.html#configuring-web-servers

您应该修改您的 urlManager 配置

$config = [
    'components' => [
      ...
      'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
          ...
          'thumbs/<path:.*>' => 'site/thumb',
          ...
        ],
      ],
      ...
    ],
];

如何使用

<?= Yii::$app->imageCache->thumb('@web/images/2014/test.jpg') ?>
// <img src="/your-app/thumbs/2014/test_thumb.jpg" alt="">

<?= Yii::$app->imageCache->thumb('@web/images/2014/test.jpg', 'medium') ?>
// <img src="/your-app/thumbs/2014/test_medium.jpg" alt="">

<?= Yii::$app->imageCache->thumb('@web/images/2014/test.jpg', 'medium', ['class'=>'img']) ?>
// <img src="/your-app/thumbs/2014/test_medium.jpg" alt="" class="img">