i-lateral/silverstripe-commerce-downloadableproduct

允许添加文件到产品中,供购买者下载。

dev-master 2018-05-03 15:48 UTC

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>