dynamic / silverstripe-foxy
Foxy.io集成SilverStripe网站。
1.3.2
2020-12-18 04:50 UTC
Requires
Requires (Dev)
- pdepend/pdepend: ^2.5
- phploc/phploc: ^4.0
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^5.7
- sebastian/phpcpd: ^3.0
- squizlabs/php_codesniffer: ^3.0
- theseer/phpdox: ^0.11.0
README
Foxy.io集成SilverStripe网站。
要求
- 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请求并与模块维护者进行讨论。