aboutsummaryrefslogtreecommitdiff
path: root/src/model/entities
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-10-23 14:15:01 +0200
committerpolo <ordipolo@gmx.fr>2025-10-23 14:15:01 +0200
commitf9a9bf1ae4fac9317fd71f0bcb207544b000e6f1 (patch)
treea0ca5cdc0374529b80951d7d126f1c49442bae68 /src/model/entities
parentdb5521f7b194190013dd0ad606a018ab68464562 (diff)
downloadcms-f9a9bf1ae4fac9317fd71f0bcb207544b000e6f1.zip
téléchargement d'assets dans head, header et footer
Diffstat (limited to 'src/model/entities')
-rw-r--r--src/model/entities/Article.php5
-rw-r--r--src/model/entities/Asset.php3
-rw-r--r--src/model/entities/NodeData.php21
3 files changed, 20 insertions, 9 deletions
diff --git a/src/model/entities/Article.php b/src/model/entities/Article.php
index 5412497..b9cb4bb 100644
--- a/src/model/entities/Article.php
+++ b/src/model/entities/Article.php
@@ -33,11 +33,10 @@ class Article
33 #[ORM\Column(type: "text")] 33 #[ORM\Column(type: "text")]
34 private string $content; // de l'éditeur html 34 private string $content; // de l'éditeur html
35 35
36 // liaison avec table intermédiaire 36 #[ORM\ManyToMany(targetEntity: Image::class, inversedBy: "article")] // cascade: ['remove'] = très dangereux!
37 #[ORM\ManyToMany(targetEntity: Image::class, inversedBy: "article")]
38 #[ORM\JoinTable( 37 #[ORM\JoinTable(
39 name: TABLE_PREFIX . "article_image", 38 name: TABLE_PREFIX . "article_image",
40 joinColumns: [new ORM\JoinColumn(name: "article_id", referencedColumnName: "id_article", onDelete: "CASCADE")], 39 joinColumns: [new ORM\JoinColumn(name: "article_id", referencedColumnName: "id_article", onDelete: "CASCADE")], // onDelete: "CASCADE": très utile
41 inverseJoinColumns: [new ORM\JoinColumn(name: "image_id", referencedColumnName: "id_image", onDelete: "CASCADE")] 40 inverseJoinColumns: [new ORM\JoinColumn(name: "image_id", referencedColumnName: "id_image", onDelete: "CASCADE")]
42 )] 41 )]
43 private Collection $images; 42 private Collection $images;
diff --git a/src/model/entities/Asset.php b/src/model/entities/Asset.php
index e1071b4..e359e21 100644
--- a/src/model/entities/Asset.php
+++ b/src/model/entities/Asset.php
@@ -11,6 +11,9 @@ use Doctrine\ORM\Mapping as ORM;
11#[ORM\Table(name: TABLE_PREFIX . "asset")] 11#[ORM\Table(name: TABLE_PREFIX . "asset")]
12class Asset 12class Asset
13{ 13{
14 const PATH = 'assets/';
15 const USER_PATH = 'user_data/assets/';
16
14 #[ORM\Id] 17 #[ORM\Id]
15 #[ORM\GeneratedValue] 18 #[ORM\GeneratedValue]
16 #[ORM\Column(type: "integer")] 19 #[ORM\Column(type: "integer")]
diff --git a/src/model/entities/NodeData.php b/src/model/entities/NodeData.php
index 5938eca..9db866e 100644
--- a/src/model/entities/NodeData.php
+++ b/src/model/entities/NodeData.php
@@ -39,11 +39,10 @@ class NodeData
39 #[ORM\Column(type: "integer", nullable: true)] 39 #[ORM\Column(type: "integer", nullable: true)]
40 private ?int $pagination_limit = null; // pour les post_block et news_block 40 private ?int $pagination_limit = null; // pour les post_block et news_block
41 41
42 // liaison avec table intermédiaire 42 #[ORM\ManyToMany(targetEntity: Asset::class, inversedBy: "node_data")] // cascade: ['remove'] = très dangereux!
43 #[ORM\ManyToMany(targetEntity: Asset::class, inversedBy: "node_data")]
44 #[ORM\JoinTable( 43 #[ORM\JoinTable(
45 name: TABLE_PREFIX . "node_asset", 44 name: TABLE_PREFIX . "nodedata_asset",
46 joinColumns: [new ORM\JoinColumn(name: "node_data_id", referencedColumnName: "id_node_data", onDelete: "CASCADE")], 45 joinColumns: [new ORM\JoinColumn(name: "node_data_id", referencedColumnName: "id_node_data", onDelete: "CASCADE")], // onDelete: "CASCADE": très utile
47 inverseJoinColumns: [new ORM\JoinColumn(name: "asset_id", referencedColumnName: "id_asset", onDelete: "CASCADE")] 46 inverseJoinColumns: [new ORM\JoinColumn(name: "asset_id", referencedColumnName: "id_asset", onDelete: "CASCADE")]
48 )] 47 )]
49 private Collection $assets; 48 private Collection $assets;
@@ -137,8 +136,18 @@ class NodeData
137 { 136 {
138 return $this->assets; 137 return $this->assets;
139 } 138 }
140 public function setAssets(Collection $assets): void 139 public function addAsset(Asset $asset): void
141 { 140 {
142 $this->assets = $assets; 141 if(!$this->assets->contains($asset)){
142 $this->assets->add($asset);
143 //$asset->addNodeData($this); // autre sens
144 }
145 }
146 public function removeAsset(Asset $asset): void
147 {
148 $this->assets->removeElement($asset);
149 /*if($this->assets->removeElement($asset)){ // autre sens
150 $asset->removeNodeData($this);
151 }*/
143 } 152 }
144} 153}