Pour gestion des sliders RevolutionSlider en anglais :
il faut IMPERATIVEMENT que le slider en anglais ait le même alias qu'en français, mais avec "_en" à la fin.
This commit is contained in:
@@ -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,10 +62,29 @@ class FrontHookManager extends BaseHook
|
||||
->filterByObjectId( $this->getRequest()->get($view . '_id'))
|
||||
->filterBySliderAlias('', Criteria::NOT_EQUAL)
|
||||
->findOne()) {
|
||||
|
||||
$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($sliderAssoc->getSliderAlias(), '', $this->jsCode)
|
||||
\RevSliderEmbedder::putRevSlider($alias, '', $this->jsCode)
|
||||
);
|
||||
}
|
||||
else {
|
||||
$event->add(
|
||||
\RevSliderEmbedder::putRevSlider($alias, '', $this->jsCode)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user