PHP code example of jkindly / sylius-digital-product-plugin

1. Go to this page and download the library: Download jkindly/sylius-digital-product-plugin library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

jkindly / sylius-digital-product-plugin example snippets




return [
    Jkindly\SyliusDigitalProductPlugin\SyliusDigitalProductPlugin::class => ['all' => true],
];



declare(strict_types=1);

namespace App\Entity\Product;

use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Sylius\Component\Core\Model\ProductVariant as BaseProductVariant;
use Jkindly\SyliusDigitalProductPlugin\Entity\DigitalProductFile;
use Jkindly\SyliusDigitalProductPlugin\Entity\DigitalProductVariantInterface;
use Jkindly\SyliusDigitalProductPlugin\Entity\DigitalProductVariantSettings;
use Jkindly\SyliusDigitalProductPlugin\Entity\DigitalProductVariantSettingsInterface;
use Jkindly\SyliusDigitalProductPlugin\Entity\Trait\DigitalProductFilesAwareTrait;
use Jkindly\SyliusDigitalProductPlugin\Entity\Trait\DigitalProductVariantSettingsAwareTrait;

#[ORM\Entity]
#[ORM\Table(name: 'sylius_product_variant')]
class ProductVariant extends BaseProductVariant implements DigitalProductVariantInterface
{
    use DigitalProductFilesAwareTrait;
    use DigitalProductVariantSettingsAwareTrait;

    #[ORM\OneToOne(targetEntity: DigitalProductVariantSettings::class, mappedBy: 'productVariant', cascade: ['persist', 'remove'], orphanRemoval: true)]
    protected ?DigitalProductVariantSettingsInterface $digitalProductVariantSettings = null;

    #[ORM\OneToMany(targetEntity: DigitalProductFile::class, mappedBy: 'productVariant', cascade: ['persist', 'remove'], orphanRemoval: true)]
    protected Collection $files;

    public function __construct()
    {
        parent::__construct();
        $this->initializeFilesCollection();
    }
}