silvercommerce / downloadable-products
允许添加文件到产品中,用户购买后可以下载。
1.0.x-dev
2021-04-07 09:50 UTC
Requires
This package is auto-updated.
Last update: 2024-09-07 17:42:43 UTC
README
向 SilverCommerce 安装添加可下载产品类型,允许用户附加文件,当用户购买时才能下载。
依赖关系
- SilverStripe 框架 4.0.x
- SilverCommerce 1.0.x
安装
使用 composer 安装
composer require silvercommerce/downloadable-products
然后运行:dev/build/?flush=1
使用方法
- 访问您的 SilverStripe 网站的 /admin。
- 导航到“目录”。
- 添加一个新的“可下载产品”并设置。
- 点击“设置”并附加文件。
设置更长的链接有效期
默认情况下,所有产品将通过其下载链接在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>