Skip to content

Instantly share code, notes, and snippets.

View unlocomqx's full-sized avatar
🏠
Working from home

Tuni-Soft unlocomqx

🏠
Working from home
  • Module Dev - Tuni-Soft
  • [object Object]
View GitHub Profile
ALTER TABLE `clk_1f88b4e5bf_productdesigner_config` MODIFY `openai_key` varchar(255);
ALTER TABLE `clk_1f88b4e5bf_productdesigner_layer` ADD `has_dynamic_color` tinyint(1) NOT NULL DEFAULT 0, ADD `color` varchar(7) DEFAULT '#ffffff';
ALTER TABLE `clk_1f88b4e5bf_productdesigner_design_layer` ADD `color` varchar(7) DEFAULT NULL;
ALTER TABLE `clk_1f88b4e5bf_productdesigner_design_field` ADD `text_min_height` DECIMAL(18, 6) NOT NULL DEFAULT 0;
ALTER TABLE `clk_1f88b4e5bf_productdesigner_design_field` ADD `is_above_mask` TINYINT(1) NOT NULL DEFAULT 0;
ALTER TABLE `clk_1f88b4e5bf_productdesigner_config` ADD `details_in_cart` tinyint(1) NOT NULL DEFAULT 1;
ALTER TABLE `clk_1f88b4e5bf_productdesigner_custom_orders` ADD INDEX `id_orders` (`id_order`) USING BTREE;
@unlocomqx
unlocomqx / heic-test.php
Created October 29, 2026 12:45
Product Designer HEIC conversion test
<?php
header('Content-Type: text/plain');
echo 'PHP ' . PHP_VERSION . "\n";
if (!class_exists('Imagick')) {
exit("Imagick is not loaded in the web server PHP\n");
}
echo Imagick::getVersion()['versionString'] . "\n";
echo 'HEIC formats: ' . implode(',', Imagick::queryFormats('HEI*')) . "\n";
$src = __DIR__ . '/test.heic';
if (!is_file($src)) {
@unlocomqx
unlocomqx / products.php
Created October 16, 2026 15:19
Custom script to calculate a reduced price in PrestaShop
<?php
/** @var int $id_product */
/** @var int $id_attribute */
/** @var int $quantity */
/** @var float $result */
/** @var float $product_price */
@unlocomqx
unlocomqx / reverse-discount.php
Created September 28, 2026 14:07
Dynamic Product - reverse percentage discount
<?php
/** @var int $id_product */
/** @var int $id_attribute */
/** @var int $quantity */
/** @var float $product_price */
use DynamicProduct\classes\DynamicTools;
use DynamicProduct\classes\module\DynamicCalculator;
@unlocomqx
unlocomqx / custom.js
Created September 18, 2026 14:57
Ekip
// Designer / Quote module adaptation
document.addEventListener('dsn.load', function () {
const cart_button = document.querySelector('#dsn-add-to-cart-btn')
if (!cart_button) return;
const quote_button = document.querySelector('#btn-cqw-add-to-quote')
if (!quote_button) return;
const label = document.querySelector('#btn-cqw-add-to-quote span')
const new_quote_button = jQuery('<button class="dsn-button dsn-primary" type="button"><i class="fa fa-cart-plus"></i> <span>' + label.textContent + '</span></button>')
@unlocomqx
unlocomqx / custom.css
Created September 15, 2026 13:54
dynamicproduct - hide add to cart until the configurator is loaded
body.dynamicproduct:not(.dp-loaded) button.add-to-cart {
display: none !important;
}
@unlocomqx
unlocomqx / hide-fonts-colors.css
Created August 31, 2026 11:50
Product Designer - masquer les polices et les couleurs de texte
/* Product Designer - masquer les polices et les couleurs de texte */
/* A ajouter dans le CSS personnalise de votre theme */
/* Groupe "Polices" */
#dsn-fieldset-text-fonts {
display: none;
}
/* Groupe "Couleurs de texte" */
#dsn-fieldset-text-colors {
@unlocomqx
unlocomqx / dsn-required.css
Created August 28, 2026 15:13
productdesigner - masquer le bouton d'ajout au panier quand la personnalisation est obligatoire
/* Masquer le bouton d'ajout au panier quand la personnalisation est obligatoire */
body.dsn-required .product-add-to-cart {
display: none;
}

Journal des modifications (Changelog)

Toutes les modifications notables de ce projet seront documentées dans ce fichier. Consultez les directives de commit pour plus d'informations.

1.229.19 (06-05-2026)

Fonctionnalités

  • CartButton utilise la configuration dynamic_tab pour activer le bon onglet
window.dp = {
hook(container) {
const product_actions = document.querySelector('.product-actions,.js-product-actions');
if (product_actions) product_actions.prepend(container);
},