experius/module-donationproduct

1.2.2 2019-03-23 14:38 UTC

README

Experius Magento 2 捐赠产品模块 (RC1.0)

安装

将模块添加到您的 composer.json 文件中 composer require experius/module-donationproduct "~1.0.0"

运行 Magento 设置升级 bin/magento setup:upgrade

安装示例数据(可选)

为测试目的将创建一些国际慈善机构

(乐施会、绿色和平、救助儿童会、大赦国际、世界自然基金会)

bin/magento experius_donationproduct:sampledata:deploy

移除示例数据(可选)

bin/magento experius_donationproduct:sampledata:remove

前端

  • 此模块将添加一个新产品类型“捐赠产品”到您的 Magento 2 安装中。
  • 客户可以选择金额将此捐赠产品添加到购物车中。

捐赠产品可以在您的 Magento 2 电商网站上几个标准位置查看

  • 主页
  • 侧边栏
  • 购物车
  • 结账

当然,可以通过 Magento 前端开发者将此块实现在任何位置。或者通过 Magento 管理员在 CMS 或类别布局更新中实现。在“全尺寸块”章节中提供了 XML 示例。

当点击客户选择的慈善机构时,将弹出一个包含慈善机构详情和添加到购物车按钮的弹出窗口。

您还可以创建一个包含所有捐赠产品的常规类别,并具有常规的产品详情页面。

“捐赠产品”与“虚拟产品”有很多共同之处。它没有库存、重量,在结账时不需要设置运输方式或地址。

捐赠弹出窗口

产品页面

类别页面

要在一个类别中查看捐赠产品(就像下面的截图所示),请创建一个 Magento 管理员中的类别并将捐赠产品添加到该类别中。

  • 类别可以在 Magento 管理员 > 目录 > 类别中添加
  • 创建类别后,通过“类别中的产品”选项卡将产品添加到类别中。

侧边栏块

此块将在每个实现侧边栏布局的页面上可见。可以在设置中禁用。请参阅设置章节。

全尺寸块(主页)

全尺寸块在主页上可见。可以在设置中禁用。请参阅设置章节。

  • 前端 Magento 开发者可以通过以下 XML 在模板中的自定义位置实现此功能。
  • 您还可以使用以下 XML 将块添加到 CMS 页面。例如您的 404 页面。编辑 CMS 页面并将 XML 添加到“设计”选项卡 > “布局更新 XML”字段。
<referenceContainer name="content">
  <block class="Experius\DonationProduct\Block\Donation\ListProduct" name="donation.block" after="-" template="Experius_DonationProduct::donation.phtml"/>
</referenceContainer>  

结账块

捐赠结账块在结账总计块中可见。可以在设置中禁用。请参阅设置章节。

购物车页面

购物车页面上的捐赠块可见。可以在设置中禁用。请参阅设置章节。

后端

产品类型

添加类型为“捐赠产品”的新产品

编辑产品

您可以配置最小捐赠金额。

报告

报告 > 销售 > 捐赠

为了存储每一个“捐赠产品”的销售,制作了一个报告表。您可以导出数据,按慈善机构汇总金额,并转账。

设置

商店 > 设置 > 配置 > 目录 > 捐赠产品

有一个设置可以启用或禁用整个模块。还有一些设置可以启用或禁用在您的网店中的多个位置上的块。

卸载

按照以下步骤卸载模块。

  1. 登录到Magento
  2. 转到 目录 > 产品。筛选产品类型‘捐赠产品’
  3. 删除所有类型为‘捐赠产品’的产品
  4. 转到 系统 > 属性 > 产品
  5. 搜索属性‘experius_donation_min_amount’(最小捐赠金额)并删除它
  6. 在命令行中运行以下命令 bin/magento module:uninstall Experius_DonationProduct

常见问题解答(FAQ)

能否将“捐赠产品选项”与“自定义选项/可定制选项”组合使用?

尽管这不被支持,但可以做到!您需要通过覆盖它以您的自定义模板版本来更改以下模板。vendor/magento/module-catalog/view/frontend/templates/product/view/form.phtml。您可能需要隐藏或删除重复的“添加到购物车”按钮

捐赠产品使用‘product_info_form_content’容器。这只有在没有找到‘自定义选项’时才会渲染。

<?php if (!$block->hasOptions()):?>
    <?= $block->getChildHtml('product_info_form_content') ?>
<?php else:?>
    <?php if ($_product->isSaleable() && $block->getOptionsContainer() == 'container1'):?>
        <?= $block->getChildChildHtml('options_container') ?>
    <?php endif;?>
<?php endif; ?>

如果您想同时渲染‘自定义选项’和‘捐赠选项’,请更改if语句。

<?php if (!$block->hasOptions() || $_product->getTypeId()=='donation'):?>
    <?= $block->getChildHtml('product_info_form_content') ?>
<?php else:?>
    <?php if ($_product->isSaleable() && $block->getOptionsContainer() == 'container1'):?>
        <?= $block->getChildChildHtml('options_container') ?>
    <?php endif;?>
<?php endif; ?>