Ladislav Němec Posted July 9, 2020 Share Posted July 9, 2020 Zdravím, nastavuji u produktů množstevní slevy pro rozmezí cca 10 - 20, 21 - 50, atd.. Používám k tomu volbu Speciální ceny. Potřeboval bych ale tabulku ve front-endu upravit tak, aby bylo jasné že se jedná o rozmezí a ne o konkrétní počet kusů: Tzn. upravit šablonu výpisu na "od "proměnná Počet" ks". Tak jako je to v ostatních sloupcích. Nevíte někdo kde tuhle úpravu provést? 😀 Díky. Link to comment Share on other sites More sharing options...
Guest Posted July 11, 2020 Share Posted July 11, 2020 A prozradíš nám verzi Prestashopu ? Link to comment Share on other sites More sharing options...
Ladislav Němec Posted July 11, 2020 Author Share Posted July 11, 2020 Verze 1.7 😊 Link to comment Share on other sites More sharing options...
Guest Posted July 11, 2020 Share Posted July 11, 2020 (edited) Ok, vše se vykresluje v ./themes/tvoje téma/templates/catalog/_partials/product-discount.tpl a funkce getQuantityDiscounts, resp. SQL dotaz ./classess/SpecificPrice.php Edited July 11, 2020 by Guest (see edit history) Link to comment Share on other sites More sharing options...
Guest Posted July 11, 2020 Share Posted July 11, 2020 Myslel jsi takto ? http://sw4all.cz/dev/cs/home-accessories/19-customizable-mug.html Link to comment Share on other sites More sharing options...
Ladislav Němec Posted July 11, 2020 Author Share Posted July 11, 2020 Jojo přesně tak. 👏👍 Link to comment Share on other sites More sharing options...
Guest Posted July 11, 2020 Share Posted July 11, 2020 No abych napsal pravdu, tak se s tím taky ser.... už hodinu. Musel jsem si nechat uložit SQL dotaz z funkce getQuantityDiscounts a pak jej doplnit o podmínku. No, ale dělá to bordel, když přidám jako první 5 druhý 10, třetí 15 a čtvrtý 1. Pak se stane to, že mi poslední zobrazí od 15 do 1 😂 Takže nic no. Link to comment Share on other sites More sharing options...
Guest Posted July 11, 2020 Share Posted July 11, 2020 když se přidávají speciální ceny krásně za sebou od nejnižší hodnoty po nejvyšší, je vše OK. Link to comment Share on other sites More sharing options...
Ladislav Němec Posted July 11, 2020 Author Share Posted July 11, 2020 Jj to by neměl být problém. A při minimálním množství ke koupi - třeba 5ks také jede? Link to comment Share on other sites More sharing options...
Ladislav Němec Posted July 11, 2020 Author Share Posted July 11, 2020 A já si představoval jak to bude lehké 😁 Link to comment Share on other sites More sharing options...
Guest Posted July 11, 2020 Share Posted July 11, 2020 10 minutes ago, Ladislav Němec said: Jj to by neměl být problém. A při minimálním množství ke koupi - třeba 5ks také jede? A proč by nemělo, vždyť jde pouze o tabulku možných slev. Link to comment Share on other sites More sharing options...
Guest Posted July 11, 2020 Share Posted July 11, 2020 3 minutes ago, Ladislav Němec said: A já si představoval jak to bude lehké 😁 Tak se podívej do tabulky p_specific_price a uvidíš, jak je to jednoduché. Link to comment Share on other sites More sharing options...
Guest Posted July 11, 2020 Share Posted July 11, 2020 (edited) Chyba je také v Prestashopu, protože v základu neskryje neplatné rozmezí, když se zadá minimální množství, ale to jde upravit přímo v tpl šabloně nebo raději v SQL dotazu. Edited July 11, 2020 by Guest (see edit history) Link to comment Share on other sites More sharing options...
Guest Posted July 11, 2020 Share Posted July 11, 2020 Nicméně to nevadí, počítá to správně. Změnil jsem v ukázce minimální počet na 5 a zobrazí správně slevu. Link to comment Share on other sites More sharing options...
Ladislav Němec Posted July 13, 2020 Author Share Posted July 13, 2020 Funguje, díky Link to comment Share on other sites More sharing options...
Guest Posted July 13, 2020 Share Posted July 13, 2020 Podařilo se ti sestavit SQL dotaz i pro sortování od nejnižšího poo nejvyšší ? Link to comment Share on other sites More sharing options...
Ladislav Němec Posted July 13, 2020 Author Share Posted July 13, 2020 (edited) Přidával jsem zatím pouze to "od". Bez úpravy php a řešení SQL dotazů. To se sortuje v pořádku, automaticky. Přemýšlím, jestli se chci srt s tím "do". Edited July 13, 2020 by Ladislav Němec (see edit history) Link to comment Share on other sites More sharing options...
Guest Posted July 13, 2020 Share Posted July 13, 2020 public static function getQuantityDiscounts($id_product, $id_shop, $id_currency, $id_country, $id_group, $id_product_attribute = null, $all_combinations = false, $id_customer = 0) { if (!SpecificPrice::isFeatureActive()) { return array(); } $query_extra = self::computeExtraConditions($id_product, ((!$all_combinations) ? $id_product_attribute : null), $id_customer, null); $get_product_minimal_quantity = Db::getInstance()->getValue('SELECT minimal_quantity FROM `' . _DB_PREFIX_ . 'product` WHERE id_product = '.$id_product); $query = ' SELECT *, (SELECT t.`from_quantity` FROM `' . _DB_PREFIX_ . 'specific_price` t WHERE (t.`id_product` = a.`id_product`) AND (t.`id_specific_price` > a.`id_specific_price`) ORDER BY t.`id_specific_price` ASC, t.`from_quantity` ASC LIMIT 1) AS next_quantity, ' . SpecificPrice::_getScoreQuery($id_product, $id_shop, $id_currency, $id_country, $id_group, $id_customer) . ' FROM `' . _DB_PREFIX_ . 'specific_price` a WHERE `id_shop` ' . self::formatIntInQuery(0, $id_shop) . ' AND `id_currency` ' . self::formatIntInQuery(0, $id_currency) . ' AND `id_country` ' . self::formatIntInQuery(0, $id_country) . ' AND `id_group` ' . self::formatIntInQuery(0, $id_group) . ' ' . $query_extra . ' ORDER BY `from_quantity` ASC, `id_specific_price_rule` ASC, `score` DESC, `to` DESC, `from` DESC '; $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query,false, false); $targeted_prices = array(); $last_quantity = array(); while ($specific_price = Db::getInstance()->nextRow($result)) { if (!isset($last_quantity[(int) $specific_price['id_product_attribute']])) { $last_quantity[(int) $specific_price['id_product_attribute']] = $specific_price['from_quantity']; } elseif ($last_quantity[(int) $specific_price['id_product_attribute']] == $specific_price['from_quantity']) { continue; } $last_quantity[(int) $specific_price['id_product_attribute']] = $specific_price['from_quantity']; if ($specific_price['from_quantity'] > 1) { $targeted_prices[] = $specific_price; } } return $targeted_prices; } Link to comment Share on other sites More sharing options...
Guest Posted July 13, 2020 Share Posted July 13, 2020 a v tpl uprav na: {foreach from=$product.quantity_discounts item='quantity_discount' name='quantity_discounts'} <tr data-discount-type="{$quantity_discount.reduction_type}" data-discount="{$quantity_discount.real_value}" data-discount-quantity="{$quantity_discount.quantity}"> <td>{l s='od' d='Shop.Theme.Catalog'} {$quantity_discount.quantity} {if $quantity_discount.next_quantity > 0} {l s='do' d='Shop.Theme.Catalog'} {$quantity_discount.next_quantity} {/if}</td> <td>{$quantity_discount.discount}</td> <td>{l s='Up to %discount%' d='Shop.Theme.Catalog' sprintf=['%discount%' => $quantity_discount.save]}</td> </tr> {/foreach} Link to comment Share on other sites More sharing options...
Guest Posted July 13, 2020 Share Posted July 13, 2020 mám napsat i číslo účtu ? Link to comment Share on other sites More sharing options...
Ladislav Němec Posted July 13, 2020 Author Share Posted July 13, 2020 17 minutes ago, Guest said: mám napsat i číslo účtu ? PM Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now