Merge branch 'feature/is_themecore-PS9'

This commit is contained in:
2025-11-20 09:51:55 +01:00
3 changed files with 55 additions and 8 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
is_themecore/vendor/

View File

@ -4,6 +4,7 @@ namespace Oksydan\Module\IsThemeCore\Core\Smarty;
use Oksydan\Module\IsThemeCore\Core\Webp\WebpPictureGenerator; use Oksydan\Module\IsThemeCore\Core\Webp\WebpPictureGenerator;
use Oksydan\Module\IsThemeCore\Form\Settings\WebpConfiguration; use Oksydan\Module\IsThemeCore\Form\Settings\WebpConfiguration;
use PrestaShop\PrestaShop\Core\Util\ColorBrightnessCalculator;
class SmartyHelperFunctions class SmartyHelperFunctions
{ {
@ -189,4 +190,9 @@ class SmartyHelperFunctions
return $content; return $content;
} }
public static function isBright($hexColor)
{
$calculator = new ColorBrightnessCalculator();
return $calculator->isBright($hexColor);
}
} }

View File

@ -10,12 +10,51 @@ class Smarty extends AbstractHook
public function hookActionDispatcherBefore(): void public function hookActionDispatcherBefore(): void
{ {
if (!isset($this->context->smarty->registered_plugins['function']['generateImagesSources'])) {
$this->context->smarty->registerPlugin('function', 'generateImagesSources', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'generateImagesSources']); $this->context->smarty->registerPlugin('function', 'generateImagesSources', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'generateImagesSources']);
} else {
return;
}
if (!isset($this->context->smarty->registered_plugins['function']['generateImageSvgPlaceholder'])) {
$this->context->smarty->registerPlugin('function', 'generateImageSvgPlaceholder', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'generateImageSvgPlaceholder']); $this->context->smarty->registerPlugin('function', 'generateImageSvgPlaceholder', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'generateImageSvgPlaceholder']);
} else {
return;
}
if (!isset($this->context->smarty->registered_plugins['function']['appendParamToUrl'])) {
$this->context->smarty->registerPlugin('function', 'appendParamToUrl', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'appendParamToUrl']); $this->context->smarty->registerPlugin('function', 'appendParamToUrl', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'appendParamToUrl']);
} else {
return;
}
if (!isset($this->context->smarty->registered_plugins['block']['images_block'])) {
$this->context->smarty->registerPlugin('block', 'images_block', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'imagesBlock']); $this->context->smarty->registerPlugin('block', 'images_block', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'imagesBlock']);
} else {
return;
}
if (!isset($this->context->smarty->registered_plugins['block']['cms_images_block'])) {
$this->context->smarty->registerPlugin('block', 'cms_images_block', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'cmsImagesBlock']); $this->context->smarty->registerPlugin('block', 'cms_images_block', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'cmsImagesBlock']);
} else {
return;
}
if (!isset($this->context->smarty->registered_plugins['block']['display_mobile'])) {
$this->context->smarty->registerPlugin('block', 'display_mobile', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'displayMobileBlock']); $this->context->smarty->registerPlugin('block', 'display_mobile', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'displayMobileBlock']);
} else {
return;
}
if (!isset($this->context->smarty->registered_plugins['block']['display_desktop'])) {
$this->context->smarty->registerPlugin('block', 'display_desktop', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'displayDesktopBlock']); $this->context->smarty->registerPlugin('block', 'display_desktop', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'displayDesktopBlock']);
} else {
return;
}
if (!isset($this->context->smarty->registered_plugins['modifier']['is_bright'])) {
$this->context->smarty->registerPlugin('modifier', 'is_bright', ['Oksydan\Module\IsThemeCore\Core\Smarty\SmartyHelperFunctions', 'isBright']);
} else {
return;
}
} }
} }