From 09bd5e9e65250454dde4eeda8895b6ceda29ed74 Mon Sep 17 00:00:00 2001 From: afornerot Date: Tue, 10 Jan 2023 11:47:07 +0100 Subject: [PATCH] maj ninegate --- src/Controller/HomeController.php | 2 ++ src/Repository/ItemRepository.php | 37 +++++++++++++++++++------------ templates/Home/page.html.twig | 3 +-- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index 47d44a4..d244598 100755 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -16,6 +16,8 @@ class HomeController extends AbstractController } $em->getRepository("App\Entity\Item")->getUserItems($this->getUser(),$bookmarks,$items,$itemscategorys); + dump($items); + dump($itemscategorys); return $this->render('Home/page.html.twig', [ 'useheader' => true, 'usemenu' => false, diff --git a/src/Repository/ItemRepository.php b/src/Repository/ItemRepository.php index 0f92df5..ba9cc30 100644 --- a/src/Repository/ItemRepository.php +++ b/src/Repository/ItemRepository.php @@ -68,7 +68,6 @@ class ItemRepository extends ServiceEntityRepository // Récupération des items par rôles $itemsroles=[]; - foreach($roles as $role) { $qb = $this->getEntityManager()->createQueryBuilder(); $qb->select('item') @@ -145,19 +144,6 @@ class ItemRepository extends ServiceEntityRepository $itemsordered=iterator_to_array($itemsordered); - // Catégories affichées - $itemcategorys = $this->getEntityManager()->getRepository('App\Entity\Itemcategory')->findBy([], ['rowOrder' => 'asc']); - if($iditemcategory && $itemcategoryfilter) $itemcategorys = $itemcategoryfilter; - else { - // On eleve les category sans item - foreach($itemcategorys as $key => $category) { - foreach($category->getItems() as $item) { - if(!in_array($item,$itemsordered)) { - unset($itemcategorys[$key]); - } - } - } - } switch($withbookmark) { // items uniquement case 1: $bookmarks=null; break; @@ -165,5 +151,28 @@ class ItemRepository extends ServiceEntityRepository // bookmarks uniquement case 2: $itemsordered=null; break; } + + // Catégories affichées + $itemcategorys=new ArrayCollection(); + if($iditemcategory && $itemcategoryfilter) $itemcategorys = $itemcategoryfilter; + else { + foreach($itemsordered as $key => $item) { + if(!$itemcategorys->contains($item->getItemcategory())) + $itemcategorys->add($item->getItemcategory()); + } + } + + // Trie des itemcategorys + $itemcategorysordered = $itemcategorys->getIterator(); + $itemcategorysordered->uasort(function ($first, $second) { + if((int) $first->getRowOrder() > (int) $second->getRowOrder()) + $return=1; + else + $return=-1; + + return $return; + }); + + $itemcategorys=iterator_to_array($itemcategorysordered); } } diff --git a/templates/Home/page.html.twig b/templates/Home/page.html.twig index bff26f8..ed76d74 100644 --- a/templates/Home/page.html.twig +++ b/templates/Home/page.html.twig @@ -12,7 +12,7 @@ {% endfor %} {% for itemcategory in itemcategorys %} - {% if itemcategorys|length > 1 %}

{{itemcategory.label}}

{% endif %} + {% if itemcategorys|length > 1 %}

{{itemcategory.label}}

{% endif %}
{% for item in items %} @@ -47,5 +47,4 @@ {% endfor %}
{% endfor %} - {% endblock %}