/**
* Récupère tous les badges pour injection JavaScript
*/
private function getAllBadgesForJS()
{
$badges = Db::getInstance()->executeS('
SELECT id_product, badge_type
FROM `' . _DB_PREFIX_ . 'offre_speciale_products`
');
$badgesArray = array();
if ($badges) {
foreach ($badges as $badge) {
$badgesArray[$badge['id_product']] = $badge['badge_type'];
}
}
return $badgesArray;
}
/**
* Hook pour remplacer les shortcodes dans le HTML avant affichage
*/
public function hookActionOutputHTMLBefore($params)
{
if (isset($params['html'])) {
$params['html'] = $this->processShortcodes($params['html']);
}
}
/**
* Traite les shortcodes dans le contenu HTML
*/
private function processShortcodes($html)
{
// Pattern pour {offre_badge} ou {offre_badge id=123}
$pattern = '/\{offre_badge(?:\s+id=(\d+))?\}/';
// Si pas d'ID fourni, essayer de récupérer le produit actuel
if (!$idProduct && isset($this->context->controller->php_self) && $this->context->controller->php_self == 'product') {
$idProduct = (int)Tools::getValue('id_product');
}
if ($idProduct) {
return $this->displayBadge($idProduct);
}
private function getBadgeForProduct($productId)
{
if (!$productId) {
return null;
}
$badge = Db::getInstance()->getRow('
SELECT badge_type
FROM `' . _DB_PREFIX_ . 'offre_speciale_products`
WHERE id_product = ' . (int)$productId
);
return $badge ? $badge['badge_type'] : null;
}
public function getContent()
{
$output = '';
// Traitement de l'ajout de produits
if (Tools::isSubmit('submitOffreSpecialeProducts')) {
$badgeType = Tools::getValue('BADGE_TYPE');
$products = Tools::getValue('OFFRE_PRODUCTS');
if (!in_array($badgeType, self::BADGE_TYPES)) {
$output .= $this->displayError($this->l('Type de badge invalide'));
} else {
$result = $this->addProducts($products, $badgeType);
if ($result['success']) {
$output .= $this->displayConfirmation(
sprintf($this->l('%d produit(s) ajouté(s) avec le badge %s'), $result['added'], $badgeType)
);
}
if ($result['errors'] > 0) {
$output .= $this->displayWarning(
sprintf($this->l('%d produit(s) déjà présent(s) ou invalide(s)'), $result['errors'])
);
}
}
}
// Traitement de la suppression d'un badge spécifique
if (Tools::isSubmit('submitClearBadge')) {
$badgeType = Tools::getValue('clear_badge_type');
if ($this->clearBadgeProducts($badgeType)) {
$output .= $this->displayConfirmation(
sprintf($this->l('Tous les produits du badge %s ont été supprimés'), $badgeType)
);
}
}
// Traitement de la suppression totale
if (Tools::isSubmit('submitClearAll')) {
if ($this->clearAllProducts()) {
$output .= $this->displayConfirmation($this->l('Tous les produits ont été supprimés'));
}
}
// Traitement de la suppression d'un produit spécifique
if (Tools::isSubmit('deleteProduct')) {
$idProduct = (int)Tools::getValue('id_product');
if ($this->removeProduct($idProduct)) {
$output .= $this->displayConfirmation($this->l('Produit supprimé'));
}
}
En kitesurf, wingfoil, surf ou stand up paddle, la combinaison néoprène est bien plus qu’un simple équipement : c’est votre seconde peau. Elle assure confort, protection thermique et liberté de mouvement, quel que soit votre niveau ou la saison.
Une Combinaison Néoprène pour Chaque Pratique
Chez GlissEvolution, nous proposons une large gamme adaptée à toutes les conditions :
Combinaisons intégrales : idéales pour l’hiver et les eaux froides.
Combinaisons manches courtes & combishorts : parfaites pour l’été.
Long John : sans manches, liberté de mouvement maximale pour les bras.
Shortys & tops néoprène : adaptés aux sessions estivales ou au SUP.
Combinaisons sèches : pour rester au sec en navigation hivernale.
Comment Choisir Votre Combinaison ?
Épaisseur en Fonction de la Température de l’Eau
1-2 mm : eaux chaudes (18-23°C).
3/2 mm : mi-saison (13-18°C).
4/3 mm ou 5/4 mm : hiver (8-14°C).
6/5/4 mm + gants, cagoule, chaussons : eaux très froides (<8°C).
Type de Fermeture
Frontzip : ajustement optimal et isolation renforcée.
Backzip : enfilage facile.
Zipless : liberté de mouvement maximale.
Accessoires Néoprène Indispensables
Complétez votre équipement pour un confort optimal :
Cagoules, gants & chaussons : indispensables en hiver.
Leggings & shorts néoprène : liberté pour SUP & longe côte.
Lycras & tops anti-UV : protection solaire pour l’été.
Sacs étanches : transport propre et pratique de votre matériel.
Les Meilleures Marques Disponibles
Nous sélectionnons les références du néoprène : Rip Curl, Billabong, O’Neill, ION et bien d’autres. Que vous soyez débutant ou rider confirmé, vous trouverez une combinaison adaptée à vos besoins.
Pourquoi Choisir GlissEvolution ?
Large choix de combinaisons et accessoires pour toutes les pratiques.
Conseils personnalisés : experts à votre écoute en ligne et en boutique.
Essais possibles en magasin à Pornichet.
Disponibilité immédiate en boutique et en ligne.
Prêt à Affronter les Vagues ?
Avec GlissEvolution, profitez de combinaisons néoprène et accessoires conçus pour maximiser vos performances et votre confort. Explorez notre gamme en ligne ou venez en boutique bénéficier de conseils sur-mesure.