Skip to content

Commit 778dd23

Browse files
author
Maxime Leclercq
committed
doc: add installation instructions in README
1 parent 4ce4975 commit 778dd23

File tree

1 file changed

+77
-7
lines changed

1 file changed

+77
-7
lines changed

README.md

Lines changed: 77 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,87 @@ If you want to use our recipes, you can configure your composer.json by running:
2525
composer config --no-plugins --json extra.symfony.endpoint '["https://api.github.com/repos/monsieurbiz/symfony-recipes/contents/index.json?ref=flex/master","flex://defaults"]'
2626
```
2727

28-
⚙️ To Be Defined.
28+
```bash
29+
composer require monsieurbiz/sylius-anti-spam-plugin
30+
```
31+
32+
Run post installation command
33+
```bash
34+
cp -r vendor/monsieurbiz/sylius-anti-spam-plugin/dist/config config/
35+
```
36+
37+
<details>
38+
<summary>For the installation without flex, follow these additional steps</summary>
39+
<p>
40+
41+
Change your `config/bundles.php` file to add the line for the plugin :
42+
43+
```php
44+
<?php
45+
46+
return [
47+
//..
48+
MonsieurBiz\SyliusRichEditorPlugin\MonsieurBizSyliusAntiSpamPlugin::class => ['all' => true],
49+
];
50+
```
51+
52+
Then create the config file in `config/packages/monsieurbiz_sylius_anti_spam_plugin.yaml` :
53+
54+
```yaml
55+
imports:
56+
- { resource: "@MonsieurBizSyliusAntiSpamPlugin/Resources/config/config.yaml" }
57+
58+
services:
59+
# Add the "monsieurbiz_anti_spam.quarantineable" tag on the quarantineable entity (not autoconfigure the entity…)
60+
App\Entity\Customer\Customer:
61+
tags: ['monsieurbiz_anti_spam.quarantineable']
62+
```
63+
64+
Finally import the routes in `config/routes/monsieurbiz_sylius_anti_spam_plugin.yaml` :
65+
66+
```yaml
67+
monsieurbiz_sylius_anti_spam_admin:
68+
resource: "@MonsieurBizSyliusAntiSpamPlugin/Resources/config/routes/admin.yaml"
69+
prefix: /%sylius_admin.path_name%
70+
```
71+
</p>
72+
</details>
73+
74+
**Update customer entity**
75+
76+
Your `Customer` entity should implement `MonsieurBiz\SyliusAntiSpamPlugin\Entity\QuarantineItemAwareInterface` and use the `MonsieurBiz\SyliusAntiSpamPlugin\Entity\QuarantineItemAwareTrait` trait.
77+
78+
```diff
79+
namespace App\Entity\Customer;
2980
30-
<!--
31-
1. Use the trait `\MonsieurBiz\SyliusAntiSpamPlugin\Entity\CustomerQuarantineItemAwareTrait` in your Customer entity.
81+
use Doctrine\ORM\Mapping as ORM;
82+
+ use MonsieurBiz\SyliusAntiSpamPlugin\Entity\QuarantineItemAwareInterface;
83+
+ use MonsieurBiz\SyliusAntiSpamPlugin\Entity\QuarantineItemAwareTrait;
84+
use Sylius\Component\Core\Model\Customer as BaseCustomer;
3285
33-
2. Update your env vars with your Recaptcha site key and secret :
86+
#[ORM\Entity]
87+
#[ORM\Table(name: 'sylius_customer')]
88+
- class Customer extends BaseCustomer
89+
+ class Customer extends BaseCustomer implements QuarantineItemAwareInterface
90+
{
91+
+ use QuarantineItemAwareTrait
92+
}
93+
```
94+
95+
**Update your database schema**
96+
97+
Update your database schema with the plugin migrations:
98+
99+
```bash
100+
bin/console doctrine:migrations:migrate
101+
```
34102

35-
RECAPTCHA3_KEY=my_site_key
36-
RECAPTCHA3_SECRET=my_secret
103+
Generate the migration and update your database schema with the new customer entity field:
37104

38-
-->
105+
```bash
106+
bin/console doctrine:migrations:diff
107+
bin/console doctrine:migrations:migrate
108+
```
39109

40110
## Documentation
41111

0 commit comments

Comments
 (0)