定制 dynamic/silverstripe-foxy 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dynamic/silverstripe-foxy

最新稳定版本:1.3.2

Composer 安装命令:

composer require dynamic/silverstripe-foxy

包简介

Foxy.io integration for SilverStripe websites.

README 文档

README

Foxy.io integration for SilverStripe websites.

CI Build Status Scrutinizer Code Quality Build Status codecov

Latest Stable Version Total Downloads Latest Unstable Version License

Requirements

  • SilverStripe ^4.0

Installation

composer require dynamic/silverstripe-foxy

License

See License

Example configuration

Add the following extensions and configuration options to 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

Create a DataExtension ProductOptionDataExtension:

<?

namespace {

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

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

And add to foxy.yml:

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

Product Variation Configuration

Product variations are similar to the old Product Options, however they have been reworked to use the has many relation. This allows a more robust offering for product variations such as images per variation as well as inventory control (currently roadmapped).

You will need to implement a DataExtension for the new relation type to work:

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,
        ];
    }
}

Product option configuration

Product options can be set to trim whitespace off code modifications. By default it will only trim spaces after the code and remove duplicate spaces. Setting trimAllWhitespace to true will trim all excess whitespace.

Dynamic\Foxy\Model\ProductOption:
  trimAllWhitespace: true

Templates

To include the AddToCartForm on your page/object, use <% include AddToCartForm %>

Maintainers

Bugtracker

Bugs are tracked in the issues section of this repository. Before submitting an issue please read over existing issues to ensure yours is unique.

If the issue does look like a new bug:

  • Create a new issue
  • Describe the steps required to reproduce your issue, and the expected outcome. Unit tests, screenshots and screencasts can help here.
  • Describe your environment as detailed as possible: SilverStripe version, Browser, PHP version, Operating System, any installed SilverStripe modules.

Please report security issues to the module maintainers directly. Please don't file security issues in the bugtracker.

Development and contribution

If you would like to make contributions to the module please ensure you raise a pull request and discuss with the module maintainers.

统计信息

  • 总下载量: 6.09k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 8
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 5
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2019-06-12