i-lateral / silverstripe-commerce-downloadableproduct
允许添加文件到产品中,供购买者下载。
dev-master
2018-05-03 15:48 UTC
Requires
This package is auto-updated.
Last update: 2024-09-20 23:29:26 UTC
README
可下载产品模块
将可下载产品类型添加到Silverstripe Commerce模块中,允许用户将文件附加到产品上,只有当用户登录并购买后才能下载。
依赖关系
- SilverStripe框架3.1.x
- Silverstripe Commerce
安装
通过下载并添加此模块进行安装:
[silverstripe-root]/commerce-downloadableproducts
然后运行:dev/build/?flush=all
或者,可以使用composer:
i-lateral/silverstripe-commerce-downloadableproduct
使用方法
默认情况下,此模块添加“可下载产品”邮费并设置购买和下载产品所需机制。
您还需要执行一些其他任务,以确保用户获得最佳体验并且您保持文件安全。
注意:您需要手动执行以下额外步骤,以充分利用此模块。
限制下载文件夹(使用Apache或IIS 7)
您的Silverstripe安装的文件下载部分需要受到限制(否则用户可能会共享下载链接)。您可以通过在 .htaccess 或 web.config 中添加以下内容来实现:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteRule assets/downloadable/* $frameworkDir/main.php?url=%1 [QSA]
或者,如果您使用web.config,请添加以下内容:
<rewrite>
<rules>
<rule name="Silverstripe downloadable products" stopProcessing="true">
<match url="^assets/downloadable/(.*)$" />
<action type="Rewrite" url="$frameworkDir/main.php?url={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
注意:上面的IIS脚本应该 应该 工作正常,但尚未经过测试,可能需要调整。
将下载链接添加到订单面板和电子邮件中
当您在订单面板或电子邮件中访问产品时,您可以调用 $DownloadLink 将下载URL渲染到模板中。例如,在订单支付电子邮件中,您可以添加如下内容:
OrderNotificationEmail_Customer.ss
<tbody><% loop $Items %>
<tr>
<td>
{$Title}
<% if $DownloadLink %> <small>(<a href="$DownloadLink">Download</a>)</small><% 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>