Právě je 21 črc 2017 02:35

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 4 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop - Aktualizace pole dostupnosti v košíku
PříspěvekNapsal: 26 čer 2017 13:13 
C4 zákazník

Registrován:
09 bře 2017 14:15
Příspěvky:
16
Dobrý den,


v eshopu mám standardně povoleny objednávky. V prvním kroku objednávky je v poli dostupnost (v případě, že je zboží skladem) vypsáno "Skladem". Řekněmě, že jsou skladem dvě položky. V případě, že v poli množství uvedu množství 3 kusy (tedy o jeden kus více, než je skladem), nedojde k přepsání pole dostupnosti ze "Skladem" na "Není skladem".

Rád bych se zeptal, zdali již někdo podobný problém řešil, resp. jak na to?


S pozdravem

dpkk.cz


Přílohy:
dostupnost.png
dostupnost.png [ 113.86 KiB | Zobrazeno 230 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Aktualizace pole dostupnosti v košíku
PříspěvekNapsal: 28 čer 2017 11:04 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
6087
Dobrý den,

bohužel se jedná o standardní chování aplikace PrestaShop, takže jedinou možností by byla úprava zdrojového kódu na míru. Pokud máte o úpravu zájem, můžete se zkusit obrátit na některého z našich partnerů (příp. vpravo blok PrestaShop partneři), který se aplikaci věnuje.

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Aktualizace pole dostupnosti v košíku
PříspěvekNapsal: 06 črc 2017 15:08 
C4 zákazník

Registrován:
15 srp 2016 13:22
Příspěvky:
26
Dobrý den. Přikládám vám návrh na řešení. Před, ale vás musím upozornit na pár věcí.
1) Odzkoušeno na verzi 1.6.1.11
2) Pokud si netroufáte na úpravu zdrojových kódů držte se přešlé rady.
3) Předem si zálohujte veškeré soubory které budete upravovat

A teď samotný návod.

Krok 1.

Otevřete si (v PSpad editoru) soubor themes/vase-sablona/shopping-cart-product-line.tpl

Naleznětě řádky:

Kód:
   {if $PS_STOCK_MANAGEMENT}
      <td class="cart_avail"><span class="label{if $product.quantity_available <= 0 && isset($product.allow_oosp) && !$product.allow_oosp} label-danger{elseif $product.quantity_available <= 0} label-warning{else} label-success{/if}">{if $product.quantity_available <= 0}{if isset($product.allow_oosp) && $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}{else}{l s='In Stock'}{/if}{else}{l s='Out of stock'}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}</span>{if !$product.is_virtual}{hook h="displayProductDeliveryTime" product=$product}{/if}</td>
   {/if}


a nahraďte jej těmito řádky:

Kód:
   {if $PS_STOCK_MANAGEMENT}
      <td class="cart_avail"> {if $product.quantity_available < $product.cart_quantity && $product.quantity_available >= 0}<span class="backorderedown">{l s='%d backordered' sprintf=$product.cart_quantity - $product.quantity_available}</span>{else}  {if $product.quantity_available <= 0}<span class="notavailableown">{if $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}</span>{else}<span class="availableown">{l s='In Stock'}</span>{/if}{else}<span class="backorderedown">{l s='Backordered'}</span>{/if}{else}<span class="availableown">{if isset($product.available_now) && $product.available_now}{$product.available_now}</span>{else}<span class="availableown">{l s='In Stock'}</span>{/if}{/if}{hook h="displayProductDeliveryTime" product=$product} </td> {/if}
   {/if}


Krok 2:

Otevřte si soubor (v PSpad editoru) themes/vase-sablona/js/cart-summary.js
Nalezněte funkci
Kód:
function upQuantity(id, qty)

a ZA!!!!! tuto funkci přidejte následující funkci

Kód:
function updateCartAvailability(json)
{
   var i;
   var product_list = new Array();

   if (typeof json == 'undefined')
      return;
      
   $('div.error').fadeOut();      

   for (i=0;i<json.products.length;i++)
      product_list[json.products[i].id_product + '_' + json.products[i].id_product_attribute + '_' + json.products[i].id_address_delivery] = json.products[i];
      
   for (i in product_list)
   {
      var key_for_blockcart_nocustom = product_list[i].id_product + '_' + product_list[i].id_product_attribute + '_' + ((product_list[i].quantity_without_customization != product_list[i].quantity)? 'nocustom' : '0') + '_' + product_list[i].id_address_delivery;
      
      if (product_list[i].quantity_available - product_list[i].cart_quantity >= 0) {
            $('#product_' + key_for_blockcart_nocustom + ' .cart_ref').html('<span class="availableown">{l s='In Stock'}</span>');
         } else if (product_list[i].quantity_available - product_list[i].cart_quantity < 0 && product_list[i].allow_oosp) {
            $('#product_' + key_for_blockcart_nocustom + ' .cart_ref').html('<span class="backorderedown">{l s='%d backordered' sprintf=$product.cart_quantity - $product.quantity_available}</span>');
         } else if (product_list[i].quantity_available - product_list[i].cart_quantity < 0 && !product_list[i].allow_oosp) {
            $('#product_' + key_for_blockcart_nocustom + ' .cart_ref').html('<span class="availableown">{l s='Out of stock'}</span>');
         }
   }

}


Krok 3: Oba soubory uložte na FTP kam patří.
Krok 4: V nástroje / výkon - proveďte vynoucenou kompilaci bez cache paměti ulož te a vrať zpět.
Krok 5: V nástroje / výkon - Vyčistit mezipaměť
Krok 6: Vyzkoušet a HOTOVO

V případě nejasností se na nás obraťte na mail: info@profi-prestashop.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Aktualizace pole dostupnosti v košíku
PříspěvekNapsal: 10 črc 2017 21:35 
C4 zákazník

Registrován:
09 bře 2017 14:15
Příspěvky:
16
Dobrý den,


aplikoval jsem Vaše řešení a i přes drobný problém (na stránce nefunguje javascript) máte ode mne opravdu velký palec nahoru za kus dobře odvedené práce. :)


Ještě jednou díky a mějte se

dpkk.cz


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 4 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PrestaShop partneři
PrestaShop Hosting
Návody pro C4

© 2009-2012 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz