From d6d7351259e104ab10b5dda3483c281830ce4ff3 Mon Sep 17 00:00:00 2001 From: polo Date: Fri, 3 Oct 2025 02:28:22 +0200 Subject: pagination partie 1, ordre des articles avec ORDER BY, optimisations dans ViewController --- src/model/entities/Node.php | 6 +----- src/model/entities/NodeData.php | 8 ++++++++ 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'src/model/entities') diff --git a/src/model/entities/Node.php b/src/model/entities/Node.php index f7af6de..ec5f081 100644 --- a/src/model/entities/Node.php +++ b/src/model/entities/Node.php @@ -172,11 +172,7 @@ class Node { $this->children[] = $child; - // cas particulier des news: utilise les dates au lieu des positions (les positions existent mais sont ignorées) - if($this->getName() === 'news_block'){ - $this->sortNews($this->getNodeData()->getChronoOrder() ?? false); // faux = ordre chronologique - } - else{ + if(!\Blocks::hasPresentation($this->getName())){ // post_block et news_block ont leurs enfants ordonnés avec ORDER BY $this->sortChildren(false); } } diff --git a/src/model/entities/NodeData.php b/src/model/entities/NodeData.php index 0d42f3a..1d7db4c 100644 --- a/src/model/entities/NodeData.php +++ b/src/model/entities/NodeData.php @@ -36,6 +36,9 @@ class NodeData #[ORM\Column(type: "integer", nullable: true)] private ?int $grid_cols_min_width = null; // pour le mode grille + #[ORM\Column(type: "integer", nullable: true)] + private ?int $pagination_limit = null; // pour les post_block et news_block + // liaison avec table intermédiaire #[ORM\ManyToMany(targetEntity: Image::class, inversedBy: "node_data")] #[ORM\JoinTable( @@ -105,6 +108,11 @@ class NodeData { $this->chrono_order = $reverse_order; } + + public function getPaginationLimit(): ?int + { + return $this->pagination_limit ?? null; + } /*public function setNode(Node $node): void { -- cgit v1.2.3