From ebed09c00b58a27f4624b89fae1974751380d796 Mon Sep 17 00:00:00 2001 From: Roman Pyrih Date: Tue, 24 Jun 2025 13:47:45 +0200 Subject: [PATCH] save --- .../pdproductattributeslist.php | 8 ++ .../hookDisplayCustomAttributesListTable.tpl | 130 ++++++++++-------- 2 files changed, 77 insertions(+), 61 deletions(-) diff --git a/modules/pdproductattributeslist/pdproductattributeslist.php b/modules/pdproductattributeslist/pdproductattributeslist.php index fbaac627..74eade92 100644 --- a/modules/pdproductattributeslist/pdproductattributeslist.php +++ b/modules/pdproductattributeslist/pdproductattributeslist.php @@ -416,6 +416,8 @@ class PdProductAttributesList extends Module $sql = 'SELECT pa.`id_product_attribute`, pa.`id_product`, pa.`reference`, pa.`ean13`, pa.`mpn`, pas.`weight` as weight_impact, p.`weight` as weight_base, pa.`minimal_quantity`, ag.`id_attribute_group`, ag.`is_color_group`, agl.`public_name` AS group_name, al.`name` AS attribute_name, al.`name` AS attribute_name_html, a.`id_attribute`, a.`color` + m.`id_manufacturer`, m.`name` AS manufacturer_name + FROM `'._DB_PREFIX_.'product_attribute` pa INNER JOIN `'._DB_PREFIX_.'product_attribute_shop` pas ON (pas.id_product_attribute = pa.id_product_attribute AND pas.id_shop = '.(int)$id_shop.') LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON pac.`id_product_attribute` = pa.`id_product_attribute` @@ -424,6 +426,7 @@ class PdProductAttributesList extends Module LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = '.(int)$id_lang.') LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group` AND agl.`id_lang` = '.(int)$id_lang.') LEFT JOIN `'._DB_PREFIX_.'product` p ON (p.`id_product` = '.(int)$id_product.') + LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (m.`id_manufacturer` = p.`id_manufacturer`) WHERE pa.`id_product` = '.(int)$id_product.' ORDER BY pa.`id_product_attribute`'; @@ -431,6 +434,7 @@ class PdProductAttributesList extends Module $results = Db::getInstance()->ExecuteS($sql); $return = array(); $product = new Product($id_product, false, $id_lang, $id_shop); + $manufacturer = new Manufacturer($product->id_manufacturer, $id_lang); $context = Context::getContext(); $specific_price_output = null; $only_in_stock = Configuration::get('PD_PAL_ONLY_IN_STOCK'); @@ -554,6 +558,8 @@ class PdProductAttributesList extends Module $r['id_product_attribute'] ); $return[$r['id_product_attribute']]['available_date'] = $product->available_date; + $return[$r['id_product_attribute']]['id_manufacturer'] = $manufacturer->id; + $return[$r['id_product_attribute']]['manufacturer_name'] = $manufacturer->name; } @@ -677,6 +683,8 @@ class PdProductAttributesList extends Module ), 'quantity' => StockAvailable::getQuantityAvailableByProduct($id_product, 0, $id_shop), 'available_date' => $product->available_date, + 'id_manufacturer' => $manufacturer->id, + 'manufacturer_name' => $manufacturer->name, ]; } diff --git a/modules/pdproductattributeslist/views/templates/hook/hookDisplayCustomAttributesListTable.tpl b/modules/pdproductattributeslist/views/templates/hook/hookDisplayCustomAttributesListTable.tpl index 1befd3c4..267a53a6 100644 --- a/modules/pdproductattributeslist/views/templates/hook/hookDisplayCustomAttributesListTable.tpl +++ b/modules/pdproductattributeslist/views/templates/hook/hookDisplayCustomAttributesListTable.tpl @@ -4,11 +4,13 @@ {if $block_heading}

{l s='Select product combination' mod='pdproductattributeslist'}

{/if} - +
- + {if $show_prices} @@ -27,8 +29,10 @@ {foreach from=$combination.images item=$img} - - {$combination.attribute_name} + + {$combination.attribute_name} {/foreach} @@ -72,12 +76,13 @@ {/if} @@ -86,9 +91,12 @@ {if !$is_catalog} - {/if} @@ -99,68 +107,68 @@
{l s='Image' mod='pdproductattributeslist'}{l s='Product informations' mod='pdproductattributeslist'}{l s='Product informations' mod='pdproductattributeslist'} + {l s='Price (tax incl.)' mod='pdproductattributeslist'} {l s='Price (tax excl.)' mod='pdproductattributeslist'} - {if $combination.quantity <= 10 }{$combination.quantity}{else}>10{/if} {l s='pcs' mod='pdproductattributeslist'} + {if $combination.quantity <= 10 }{$combination.quantity}{else}>10{/if} + {l s='pcs' mod='pdproductattributeslist'} - {if $combination.quantity == 0} -
- {$combination.available_date} - {/if} + {if $combination.quantity == 0} +
+ {$combination.available_date} + {/if}
+
- +
{/if} {literal} - - + + // łapiemy ręczne wpisywanie… + input.addEventListener('input', checkQty); + + // …i wszelkie inne zmiany przez polling w tle + (function monitor(prevValue = input.value) { + const curr = input.value; + if (curr !== prevValue) { + checkQty(); + prevValue = curr; + } + requestAnimationFrame(() => monitor(prevValue)); + })(); + }); + }); + {/literal} \ No newline at end of file