Skip to content

Commit

Permalink
OP-319 - installation.md
Browse files Browse the repository at this point in the history
  • Loading branch information
tomkalon committed Aug 8, 2024
1 parent a70f537 commit a547dff
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 10 deletions.
90 changes: 86 additions & 4 deletions doc/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,26 @@ bitbag_shipping_export_plugin.yaml to the config/packages and config/routes dire
It also adding the appropriate entry to config/bundles.php.
If it doesn't, so please remember to do the same as above for SyliusShippingExportPlugin configuration.

Add after <b>@BitBagSyliusShippingExportPlugin</b> import:
```yaml
# config/packages/bitbag_shipping_export_plugin.yaml
imports:
- { resource: "@BitBagSyliusShippingExportPlugin/Resources/config/config.yml" }
sylius_resource:
resources:
bitbag.shipping_export:
classes:
model: App\Entity\Shipping\ShippingExport
controller: BitBag\SyliusInPostPlugin\Controller\ShippingExportController
```
Remember that in case of different mapping, the model path may be different.
Default:
```yaml
model: App\Entity\ShippingExport
```

### Extend entities with parameters

You can implement this using xml-mapping or attributes. Instructions for both settings are described below.
Expand Down Expand Up @@ -101,6 +121,22 @@ class ShippingMethod extends BaseShippingMethod implements ImageAwareInterface
use ShippingMethodImageTrait;
}
```
```php
<?php
declare(strict_types=1);
namespace App\Entity;
use BitBag\SyliusInPostPlugin\Entity\ShippingExportInterface;
use BitBag\SyliusInPostPlugin\Model\ParcelTemplateTrait;
use BitBag\SyliusShippingExportPlugin\Entity\ShippingExport as BaseShippingExport;
class ShippingExport extends BaseShippingExport implements ShippingExportInterface
{
use ParcelTemplateTrait;
}
```
Remember to mark it appropriately in the config/doctrine.yaml configuration file.
```
doctrine:
Expand All @@ -118,10 +154,9 @@ Define new Entity mapping inside your src/Resources/config/doctrine directory.
```xml
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping
xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"
>
<entity name="App\Entity\Order" table="sylius_order">
Expand Down Expand Up @@ -156,6 +191,18 @@ Define new Entity mapping inside your src/Resources/config/doctrine directory.
</entity>
</doctrine-mapping>
```
```xml
<?xml version="1.0" encoding="UTF-8"?>

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="App\Entity\ShippingExport" table="bitbag_shipping_export">
<field name="parcel_template" nullable="true" />
</entity>
</doctrine-mapping>
```
#### You can do it with attributes if you prefer. Remember to mark it appropriately in the config/doctrine.yaml configuration file.
```
doctrine:
Expand Down Expand Up @@ -239,8 +286,43 @@ class ShippingMethod extends BaseShippingMethod implements ImageAwareInterface
{
$this->image = $image;
}

// other methods
}

```
```php
<?php

declare(strict_types=1);

namespace App\Entity\Shipping;

use BitBag\SyliusInPostPlugin\Entity\ShippingExportInterface;
use BitBag\SyliusShippingExportPlugin\Entity\ShippingExport as BaseShippingExport;
use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
* @ORM\Table(name="bitbag_shipping_export")
*/
#[ORM\Entity]
#[ORM\Table(name: 'bitbag_shipping_export')]
class ShippingExport extends BaseShippingExport implements ShippingExportInterface
{
#[ORM\Column(type: 'string', nullable: true)]
protected ?string $parcel_template = null;

public function getParcelTemplate(): ?string
{
return $this->parcel_template;
}

public function setParcelTemplate(?string $parcel_template): void
{
$this->parcel_template = $parcel_template;
}
}
```
Finish the installation by updating the database schema (check in advance: [Known Issues](known_issues.md)):

Expand Down
10 changes: 4 additions & 6 deletions tests/Application/src/Resources/config/doctrine/Order.orm.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>

<doctrine-mapping
xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"
>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="Tests\BitBag\SyliusInPostPlugin\Application\src\Entity\Order" table="sylius_order">

<one-to-one field="point" target-entity="BitBag\SyliusInPostPlugin\Entity\InPostPoint">
Expand Down

0 comments on commit a547dff

Please sign in to comment.