https://github.com/dynamic/silverstripe-foxy
https://github.com/dynamic/silverstripe-foxy
foxycart hacktoberfest silverstripe
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dynamic/silverstripe-foxy
- Owner: dynamic
- License: bsd-3-clause
- Created: 2019-05-08T16:19:40.000Z (about 6 years ago)
- Default Branch: 1.3
- Last Pushed: 2022-04-14T15:39:39.000Z (about 3 years ago)
- Last Synced: 2024-11-15T22:30:30.154Z (7 months ago)
- Topics: foxycart, hacktoberfest, silverstripe
- Language: PHP
- Homepage:
- Size: 245 KB
- Stars: 1
- Watchers: 7
- Forks: 3
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: code-of-conduct.md
Awesome Lists containing this project
README
# SilverStripe Foxy
Foxy.io integration for SilverStripe websites.

[](https://travis-ci.org/dynamic/silverstripe-foxy)
[](https://scrutinizer-ci.com/g/dynamic/silverstripe-foxy/?branch=master)
[](https://scrutinizer-ci.com/g/dynamic/silverstripe-foxy/build-status/master)
[](https://codecov.io/gh/dynamic/silverstripe-foxy)[](https://packagist.org/packages/dynamic/silverstripe-foxy)
[](https://packagist.org/packages/dynamic/silverstripe-foxy)
[](https://packagist.org/packages/dynamic/silverstripe-foxy)
[](https://packagist.org/packages/dynamic/silverstripe-foxy)## Requirements
* SilverStripe ^4.0
## Installation
```
composer require dynamic/silverstripe-foxy
```## License
See [License](license.md)
## Example configuration
Add the following extensions and configuration options to `foxy.yml`:
```yaml
PageController:
extensions:
- Dynamic\Foxy\Extension\PurchasableExtensionDynamic\Products\Page\Product:
extensions:
- Dynamic\Foxy\Extension\PurchasableDynamic\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`:
```phpnamespace {
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`:
```yaml
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
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.```yaml
Dynamic\Foxy\Model\ProductOption:
trimAllWhitespace: true
```## Templates
To include the AddToCartForm on your page/object, use `<% include AddToCartForm %>`
## Maintainers
* [Dynamic](http://www.dynamicagency.com) ()## 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.