From c4d8a451b2e983815f0735a6e3defe1ebf07226c Mon Sep 17 00:00:00 2001 From: Krystian Podemski Date: Thu, 13 Jun 2024 12:20:25 +0200 Subject: [PATCH] Show all slides in back office --- ps_imageslider.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ps_imageslider.php b/ps_imageslider.php index 0b03bfa..2a8c29f 100644 --- a/ps_imageslider.php +++ b/ps_imageslider.php @@ -215,7 +215,7 @@ protected function createTables() */ protected function deleteTables() { - $slides = $this->getSlides(); + $slides = $this->getSlides(null, true); foreach ($slides as $slide) { $to_del = new Ps_HomeSlide($slide['id_slide']); $to_del->delete(); @@ -655,7 +655,15 @@ public function getNextPosition() return ++$row['next_position']; } - public function getSlides($active = null) + /** + * Get slides + * + * @param bool $active + * @param bool $forceShowAll Include all slides, even those without image for a given language + * + * @return array + */ + public function getSlides($active = null, $forceShowAll = false) { $this->context = Context::getContext(); $id_shop = $this->context->shop->id; @@ -668,8 +676,8 @@ public function getSlides($active = null) LEFT JOIN ' . _DB_PREFIX_ . 'homeslider_slides hss ON (hs.id_homeslider_slides = hss.id_homeslider_slides) LEFT JOIN ' . _DB_PREFIX_ . 'homeslider_slides_lang hssl ON (hss.id_homeslider_slides = hssl.id_homeslider_slides) WHERE id_shop = ' . (int) $id_shop . ' - AND hssl.id_lang = ' . (int) $id_lang . ' - AND hssl.`image` <> ""' . + AND hssl.id_lang = ' . (int) $id_lang . + ($forceShowAll ? '' : ' AND hssl.`image` <> ""') . ($active ? ' AND hss.`active` = 1' : ' ') . ' ORDER BY hss.position' ); @@ -732,7 +740,7 @@ public function slideExists($id_slide) public function renderList() { - $slides = $this->getSlides(); + $slides = $this->getSlides(null, true); foreach ($slides as $key => $slide) { $slides[$key]['status'] = $this->displayStatus($slide['id_slide'], $slide['active']); $associated_shop_ids = Ps_HomeSlide::getAssociatedIdsShop((int) $slide['id_slide']);