dynamic/silverstripe-foxy

Foxy.io集成SilverStripe网站。

安装数: 6,015

依赖者: 8

建议者: 0

安全性: 0

星标: 1

关注者: 7

分支: 3

开放问题: 13

类型:silverstripe-vendormodule

1.3.2 2020-12-18 04:50 UTC

README

Foxy.io集成SilverStripe网站。

CI Build Status Scrutinizer Code Quality Build Status codecov

Latest Stable Version Total Downloads Latest Unstable Version License

要求

  • SilverStripe ^4.0

安装

composer require dynamic/silverstripe-foxy

许可证

许可证

示例配置

将以下扩展和配置选项添加到foxy.yml

PageController:
  extensions:
    - Dynamic\Foxy\Extension\PurchasableExtension

Dynamic\Products\Page\Product:
  extensions:
    - Dynamic\Foxy\Extension\Purchasable

Dynamic\Foxy\Model\FoxyHelper:
  cart_url: ''      # from Foxy store settings
  secret: ''        # from Foxy store advanced settings
  custom_ssl: 0     # (optional) enable custom ssl setting from Foxy store advanced settings
  max_quantity: 10  # maximum number of the same product that can be added to the cart
  product_classes:
    - Dynamic\Products\Page\Product
  include_product_subclasses: 1   # (optional) include subclasses of product_classes in queries

创建一个DataExtension ProductOptionDataExtension

<?

namespace {

    use Dynamic\Products\Page\Product;
    use SilverStripe\ORM\DataExtension;

    class ProductOptionDataExtension extends DataExtension
    {
        private static $belongs_many_many = [
            'Products' => Product::class,
        ];
    }
}

并将其添加到foxy.yml

Dynamic\Foxy\Model\ProductOption:
  extensions:
    - ProductOptionDataExtension

产品变体配置

产品变体类似于旧的产品选项,但是它们已经被重新设计以使用“has many”关系。这使得产品变体的提供更加稳健,例如每个变体的图片以及库存控制(目前已在路线图中)。

您需要实现一个新的DataExtension以使新关系类型工作

VariationDataExtension.php

<?php

namespace {

    use Dynamic\Products\Page\Product;
    use SilverStripe\ORM\DataExtension;

    /**
     * Class VariationDataExtension
     */
    class VariationDataExtension extends DataExtension
    {
        /**
         * @var string[]
         */
        private static $has_one = [
            'Product' => Product::class,
        ];
    }
}

产品选项配置

产品选项可以设置为修剪代码修改后的空白字符。默认情况下,它将仅修剪代码后的空格并删除重复的空格。将trimAllWhitespace设置为true将修剪所有多余的空白字符。

Dynamic\Foxy\Model\ProductOption:
  trimAllWhitespace: true

模板

要在您的页面/对象上包含AddToCartForm,请使用<% include AddToCartForm %>

维护者

错误追踪器

错误在此存储库的问题部分中跟踪。在提交问题之前,请阅读现有问题以确保您的问题独特。

如果问题看起来像是一个新的错误

  • 创建一个新的问题
  • 描述重现您问题的步骤和预期结果。单元测试、屏幕截图和屏幕录像在这里可能会有所帮助。
  • 尽可能详细地描述您的环境:SilverStripe版本、浏览器、PHP版本、操作系统、任何安装的SilverStripe模块。

请直接向模块维护者报告安全问题。请不要在错误跟踪器中提交安全问题。

开发和贡献

如果您想对该模块做出贡献,请确保您发起了一个pull请求并与模块维护者进行讨论。