silvercommerce/downloadable-products

允许添加文件到产品中,用户购买后可以下载。

安装: 345

依赖项: 1

建议者: 0

安全: 0

星标: 0

关注者: 4

分支: 0

类型:silverstripe-vendormodule

1.0.x-dev 2021-04-07 09:50 UTC

This package is auto-updated.

Last update: 2024-09-07 17:42:43 UTC


README

Scrutinizer Code Quality

向 SilverCommerce 安装添加可下载产品类型,允许用户附加文件,当用户购买时才能下载。

依赖关系

  • SilverStripe 框架 4.0.x
  • SilverCommerce 1.0.x

安装

使用 composer 安装

composer require silvercommerce/downloadable-products

然后运行:dev/build/?flush=1

使用方法

  1. 访问您的 SilverStripe 网站的 /admin。
  2. 导航到“目录”。
  3. 添加一个新的“可下载产品”并设置。
  4. 点击“设置”并附加文件。

设置更长的链接有效期

默认情况下,所有产品将通过其下载链接在7天内可用(如果用户在购买过程中没有创建账户)。

如果您想增加这个长度,您可以在产品的“设置”下更改它。或者您可以使用配置全局更改它

SilverCommerce\DownloadableProducts\DownloadableProduct:
    defaults:
        LinkLife: 14 # two weeks

注意:您需要重新保存任何现有产品才能使此更改生效

限制下载文件夹

默认情况下,此模块将文件添加到受限文件夹中。任何附加到 DownloadableProduct 的文件将被移动到该文件夹,并使其不可查看,除非当前用户可以使用关联的下载链接编辑该文件。

注意:您需要确保 SilverStripe 管理您的资产文件夹,以便访问限制能够生效。

更改默认下载位置

如果您想更改可下载产品放置的默认位置,您可以更改 folder_name 配置变量,例如

SilverCommerce\DownloadableProducts\DownloadableProduct:
    folder_name: "mydownloadlocation"

FileDownloadController

默认情况下,任何购买可下载产品的用户都可以提供下载链接(见下文)。这会将他们发送到 FileDownloadController,该控制器将尝试查看用户是否有权下载文件。

如果链接已过期或用户无权下载,将显示错误。

在订单面板和电子邮件中添加 DownloadLink

当您可以在订单面板或电子邮件中访问产品时,您可以调用 $DownloadLink 将下载 URL 渲染到模板中。

例如,如果已生成发票并标记为已付款(并且您已设置相关的通知),您可以将电子邮件模板更新为使用以下内容

OrderNotificationEmail_Customer.ss

<tbody><% loop $Items %>
    <tr>
        <td>
            {$Title}
            <% if $DownloadLink %>(<a href="$DownloadLink">Download</a>)<% end_if %>
            <% if $StockID %>($StockID)<% end_if %><br/>
            <em>$CustomisationHTML</em>
        </td>
        <td style="text-align: right">{$Quantity}</td>
        <td style="text-align: right">{$Price.Nice}</td>
    </tr>
<% end_loop %></tbody>