phoenix-media/magento2-mediastoragesync

该模块从源服务器检索/media目录下的文件。

安装次数: 11,494

依赖项: 0

建议者: 0

安全: 0

星级: 25

关注者: 2

分支: 7

开放问题: 2

类型:magento2-module

1.2.4 2022-07-05 08:52 UTC

This package is auto-updated.

Last update: 2024-09-05 13:32:20 UTC


README

该模块从源服务器检索/media目录下的文件。

功能描述

想象你有一个全新的本地开发环境,已经从Git上检出Magento代码。你已检索了数据库,但没有任何媒体资产,你的店铺前端看起来不完整。你可以从生产环境获取媒体文件夹的巨大存档,但没有人真的愿意下载数十个GB的文件只为了编辑几个目录页。

该模块实现了一些插件和观察者,首次从数据库加载实体时,它会从可配置的源服务器(类似于CDN)下载分类、产品和CMS块/页面的图片。这意味着你可以忘记媒体文件夹,只需浏览前端即可,图片将透明地下载和保存。

工作原理

在模块配置中,你可以配置基本URL,即你的生产/预发布Magento实例所在域名,从中获取数据库。在数据库中存储了分类和产品图片的相对路径。一旦加载这些实体,模块会检查它们的图片是否已存在于media/catalog中。如果没有,它将使用基本URL,从数据库中追加相对图片路径,并从源服务器下载文件。这可能会在第一次访问页面时减慢页面生成速度,但很快就会改善。

对于媒体文件夹中的其他资产,我们使用了另一种机制:也许你已经注意到了,Magento自带一个位于Magento根目录下的get.php文件。它的目的是从数据库检索图像数据,将其保存到主机文件系统,然后交付。我们的资产位于不同的Web服务器上,但在检索资产数据之外,其余部分非常相似。get.php通过media/.htaccess中的mod_rewrite规则或nginx配置中的等效规则调用。每次在/media中找不到文件时,都会触发此过程,因此它只会在第一次触发。MediaStorageSync模块下载文件,保存它,然后get.php交付文件。在第二次加载时,Web服务可以直接提供静态资产。

如何使用

  1. 通过Composer安装模块
composer require phoenix-media/magento2-mediastoragesync
  1. 启用它 bin/magento module:enable Phoenix_MediaStorageSync
  2. 安装模块并重建DI缓存 bin/magento setup:upgrade

如何配置

在您的Magento配置中找到模块配置,位于PHOENIX MEDIA部分。

启用:启用或禁用功能

URL:配置用于检索图片的源URL(例如,“https://magento.com/”)

可选地配置BasicAuth凭据。