From 311f2555b76700134c5f27542b987791c7a83c2a Mon Sep 17 00:00:00 2001 From: Laurent LE CORRE Date: Wed, 26 Feb 2020 19:58:32 +0100 Subject: [PATCH] =?UTF-8?q?Pour=20gestion=20des=20sliders=20RevolutionSlid?= =?UTF-8?q?er=20en=20anglais=20:=20il=20faut=20IMPERATIVEMENT=20que=20le?= =?UTF-8?q?=20slider=20en=20anglais=20ait=20le=20m=C3=AAme=20alias=20qu'en?= =?UTF-8?q?=20fran=C3=A7ais,=20mais=20avec=20"=5Fen"=20=C3=A0=20la=20fin.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Hook/FrontHookManager.php | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/local/modules/SliderRevolution/Hook/FrontHookManager.php b/local/modules/SliderRevolution/Hook/FrontHookManager.php index c2ec6c4e..fd0a820c 100644 --- a/local/modules/SliderRevolution/Hook/FrontHookManager.php +++ b/local/modules/SliderRevolution/Hook/FrontHookManager.php @@ -15,6 +15,7 @@ namespace SliderRevolution\Hook; use Propel\Runtime\ActiveQuery\Criteria; +use Propel\Runtime\Propel; use SliderRevolution\Model\SliderAssociationQuery; use SliderRevolution\SliderRevolution; use Thelia\Core\Event\Hook\HookRenderEvent; @@ -61,9 +62,28 @@ class FrontHookManager extends BaseHook ->filterByObjectId( $this->getRequest()->get($view . '_id')) ->filterBySliderAlias('', Criteria::NOT_EQUAL) ->findOne()) { - $event->add( - \RevSliderEmbedder::putRevSlider($sliderAssoc->getSliderAlias(), '', $this->jsCode) - ); + + $alias = $sliderAssoc->getSliderAlias(); + + /* TheCoreDev le 26/02/2020 : Si on est en langue anglaise, on recherche s'il existe un slider avec le même alias, mais suffixé par "_en" */ + if ($this->getRequest()->getSession()->getLang()->getLocale() === "en_US") + { + $conn = Propel::getConnection('thelia'); + $aliasEn = $sliderAssoc->getSliderAlias() . '_en'; + $sql = str_replace('%', $aliasEn, "SELECT ID FROM revslider_sliders WHERE alias = '%'"); + $statement = $conn->query($sql); + if (($statement && $row = $statement->fetch(\PDO::FETCH_ASSOC))) { + $alias = $aliasEn; + } + $event->add( + \RevSliderEmbedder::putRevSlider($alias, '', $this->jsCode) + ); + } + else { + $event->add( + \RevSliderEmbedder::putRevSlider($alias, '', $this->jsCode) + ); + } } } }