mirror of
https://github.com/symfony/recipes-contrib.git
synced 2026-03-24 00:32:17 +01:00
Add recipe for sonata-project/classification-bundle
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
sonata_classification:
|
||||
class:
|
||||
category: App\Entity\SonataClassificationCategory
|
||||
collection: App\Entity\SonataClassificationCollection
|
||||
context: App\Entity\SonataClassificationContext
|
||||
tag: App\Entity\SonataClassificationTag
|
||||
media: App\Entity\SonataMediaMedia
|
||||
9
sonata-project/classification-bundle/3.7/manifest.json
Normal file
9
sonata-project/classification-bundle/3.7/manifest.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"bundles": {
|
||||
"Sonata\\ClassificationBundle\\SonataClassificationBundle": ["all"]
|
||||
},
|
||||
"copy-from-recipe": {
|
||||
"config/": "%CONFIG_DIR%/",
|
||||
"src/": "%SRC_DIR%/"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use JMS\Serializer\Annotation as Serializer;
|
||||
use Sonata\ClassificationBundle\Entity\BaseCategory;
|
||||
use Sonata\MediaBundle\Model\MediaInterface;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="classification__category")
|
||||
* @ORM\HasLifecycleCallbacks
|
||||
*/
|
||||
class SonataClassificationCategory extends BaseCategory
|
||||
{
|
||||
/**
|
||||
* @ORM\Id
|
||||
* @ORM\Column(type="integer")
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
* // Serializer\Groups(groups={"sonata_api_read", "sonata_api_write", "sonata_search"})
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(
|
||||
* targetEntity="App\Entity\SonataClassificationCategory",
|
||||
* mappedBy="parent", cascade={"persist"}, orphanRemoval=true
|
||||
* )
|
||||
* @ORM\OrderBy({"position"="ASC"})
|
||||
*
|
||||
* @var SonataClassificationCategory[]
|
||||
*/
|
||||
protected $children;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(
|
||||
* targetEntity="App\Entity\SonataClassificationCategory",
|
||||
* inversedBy="children", cascade={"persist", "refresh", "merge", "detach"}
|
||||
* )
|
||||
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="CASCADE")
|
||||
*
|
||||
* @var SonataClassificationCategory
|
||||
*/
|
||||
protected $parent;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(
|
||||
* targetEntity="App\Entity\SonataClassificationContext",
|
||||
* cascade={"persist"}
|
||||
* )
|
||||
* @ORM\JoinColumn(name="context", referencedColumnName="id", nullable=false)
|
||||
* @Assert\NotNull()
|
||||
*
|
||||
* @var SonataClassificationContext
|
||||
*/
|
||||
protected $context;
|
||||
|
||||
public function getId()
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
final public function setMedia(MediaInterface $media = null)
|
||||
{
|
||||
parent::setMedia($media);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PrePersist
|
||||
*/
|
||||
public function prePersist(): void
|
||||
{
|
||||
parent::prePersist();
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PreUpdate
|
||||
*/
|
||||
public function preUpdate(): void
|
||||
{
|
||||
parent::preUpdate();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use JMS\Serializer\Annotation as Serializer;
|
||||
use Sonata\ClassificationBundle\Entity\BaseCollection;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="classification__collection")
|
||||
* @ORM\HasLifecycleCallbacks
|
||||
*/
|
||||
class SonataClassificationCollection extends BaseCollection
|
||||
{
|
||||
/**
|
||||
* @ORM\Id
|
||||
* @ORM\Column(type="integer")
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
* // Serializer\Groups(groups={"sonata_api_read", "sonata_api_write", "sonata_search"})
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(
|
||||
* targetEntity="App\Entity\SonataClassificationContext",
|
||||
* cascade={"persist"}
|
||||
* )
|
||||
* @ORM\JoinColumn(name="context", referencedColumnName="id", nullable=false)
|
||||
*
|
||||
* @var SonataClassificationContext
|
||||
*/
|
||||
protected $context;
|
||||
|
||||
public function getId()
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PrePersist
|
||||
*/
|
||||
public function prePersist(): void
|
||||
{
|
||||
parent::prePersist();
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PreUpdate
|
||||
*/
|
||||
public function preUpdate(): void
|
||||
{
|
||||
parent::preUpdate();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use JMS\Serializer\Annotation as Serializer;
|
||||
use Sonata\ClassificationBundle\Entity\BaseContext;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="classification__context")
|
||||
* @ORM\HasLifecycleCallbacks
|
||||
*/
|
||||
class SonataClassificationContext extends BaseContext
|
||||
{
|
||||
/**
|
||||
* @ORM\Id
|
||||
* @ORM\Column(type="string")
|
||||
* @ORM\GeneratedValue(strategy="NONE")
|
||||
* // Serializer\Groups(groups={"sonata_api_read", "sonata_api_write", "sonata_search"})
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
public function getId()
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PrePersist
|
||||
*/
|
||||
public function prePersist(): void
|
||||
{
|
||||
parent::prePersist();
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PreUpdate
|
||||
*/
|
||||
public function preUpdate(): void
|
||||
{
|
||||
parent::preUpdate();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use JMS\Serializer\Annotation as Serializer;
|
||||
use Sonata\ClassificationBundle\Entity\BaseTag;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="classification__tag")
|
||||
* @ORM\HasLifecycleCallbacks
|
||||
*/
|
||||
class SonataClassificationTag extends BaseTag
|
||||
{
|
||||
/**
|
||||
* @ORM\Id
|
||||
* @ORM\Column(type="integer")
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
* // Serializer\Groups(groups={"sonata_api_read", "sonata_api_write", "sonata_search"})
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(
|
||||
* targetEntity="App\Entity\SonataClassificationContext",
|
||||
* cascade={"persist"}
|
||||
* )
|
||||
* @ORM\JoinColumn(name="context", referencedColumnName="id", nullable=false)
|
||||
*
|
||||
* @var SonataClassificationContext
|
||||
*/
|
||||
protected $context;
|
||||
|
||||
public function getId()
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PrePersist
|
||||
*/
|
||||
public function prePersist(): void
|
||||
{
|
||||
parent::prePersist();
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PreUpdate
|
||||
*/
|
||||
public function preUpdate(): void
|
||||
{
|
||||
parent::preUpdate();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user