surprise82 Posted June 29, 2016 Share Posted June 29, 2016 Salve a tutti. Nella lista dei prodotti dovevo inserire una comoda casella nella quale il cliente inseriva direttamente da lì la quantità che desiderava ordinare di un prodotto. Non appena averla creata, però, dovrei andare a modificare il file ajax-cart.js che mi dovrebbe restituire il controllo esatto e farmi funzionare il tutto alla perfezione. L'unico intoppo è che questo file lo trovo fuori dal mio tema nella cartella moduli, mentre dovrebbe essere presente anche su themes/defaultbootstramp/modules/blockcart. Qualcuno sà come risolvere questo problema e darmi una soluzione? Link to comment Share on other sites More sharing options...
caygri Posted June 29, 2016 Share Posted June 29, 2016 scarica una nuovsa versione di ps, non mi sembra che sia li. Se manca uppalo Link to comment Share on other sites More sharing options...
surprise82 Posted June 29, 2016 Author Share Posted June 29, 2016 Ho la versione 1.6.1.5, comunque stò provando a inserire un box dove direttamente dalla lista dei prodotti un cliente può mettere quanti pezzi ordinare per articolo. Il box sono riuscito a crearlo andando a modificare il file product-list.tpl, poi si modifica il file ajax-cart.js ma non sò cosa andare a modificare. Intanto copio il file dentro theme/default/modules/blockcart, se qualcuno sapesse cosa modificare del file ajax-cart.js per far sì che mi aggiunga (ad esempio) 7 pezzi mi risolverebbe un problema. Grazie ancora Link to comment Share on other sites More sharing options...
surprise82 Posted June 29, 2016 Author Share Posted June 29, 2016 Tanto per farvi capire, ho seguito questa guida https://mypresta.eu/en/art/prestashop-16/quantity-product-list.html Link to comment Share on other sites More sharing options...
Sito Lab Posted June 30, 2016 Share Posted June 30, 2016 il file in questione si trova in questo percorso themes/tuo tema/js/modules/blockcart Link to comment Share on other sites More sharing options...
surprise82 Posted June 30, 2016 Author Share Posted June 30, 2016 Grazie mille, stavo sbagliando percorso, comunque sono andato a modificare nel punto corretto e non mi funziona ancora, mi aggiunge sempre 1 pezzo. Avete idee su come risolvere questo problema? Link to comment Share on other sites More sharing options...
Sito Lab Posted June 30, 2016 Share Posted June 30, 2016 se hai seguito il tutto correttamente non dovresti avere problemi, comunque pulisci la cache Link to comment Share on other sites More sharing options...
surprise82 Posted July 1, 2016 Author Share Posted July 1, 2016 Ciao, ho guardato e il codice scritto è corretto, non sò se ho sbagliato ma in precedenza ero andato a modificare il file ajaxcart.js direttamente fuori dal tema nella cartella modules, magari non mi apporta le modifiche perchè è stato modificato anche quel file, anche se non credo? Inoltre ho attivato dal backend l'opzione forza compilazione e ho pulito la cache ma niente, ancora mi aggiunge un solo pezzo per articolo. Ci stò perdendo le speranze, se qualcuno di voi sà dove sbaglio oppure un'altro modo per fare questa cosa sarebbe molto utile. Grazie Link to comment Share on other sites More sharing options...
Sito Lab Posted July 1, 2016 Share Posted July 1, 2016 se ricordo bene il file da modificare (ajax) è quello che ti ho menzionato prima e che si trova nel percorso themes/tuo tema/js/modules/blockcart Link to comment Share on other sites More sharing options...
surprise82 Posted July 1, 2016 Author Share Posted July 1, 2016 Sisi appunto, sono andato a modificare quello, ma in precedenza la stessa parte di codice l'ho inserita anche sullo stesso file, ma nella cartella module fuori dal tema. La guida l'ho seguita alla lettera ma purtroppo non mi funziona. Vi posto i due file in questione: Product-list.ipl <div class="button-container"> {if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.customizable != 2 && !$PS_CATALOG_MODE} {if (!isset($product.customization_required) || !$product.customization_required) && ($product.allow_oosp || $product.quantity > 0)} {capture}add=1&id_product={$product.id_product|intval}{if isset($product.id_product_attribute) && $product.id_product_attribute}&ipa={$product.id_product_attribute|intval}{/if}{if isset($static_token)}&token={$static_token}{/if}{/capture} <input style="font-size:27px; text-align:center; width:30px;" type="text" name="qty" id="quantity_to_cart_{$product.id_product|intval}" value="1"/> <a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, $smarty.capture.default, false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product-attribute="{$product.id_product_attribute|intval}" data-id-product="{$product.id_product|intval}" data-minimal_quantity="{if isset($product.product_attribute_minimal_quantity) && $product.product_attribute_minimal_quantity >= 1}{$product.product_attribute_minimal_quantity|intval}{else}{$product.minimal_quantity|intval}{/if}"> <span>{l s='Add to cart'}</span> </a> {else} <span class="button ajax_add_to_cart_button btn btn-default disabled"> <span>{l s='Add to cart'}</span> </span> {/if} {/if} <a class="button lnk_view btn btn-default" href="{$product.link|escape:'html':'UTF-8'}" title="{l s='View'}"> <span>{if (isset($product.customization_required) && $product.customization_required)}{l s='Customize'}{else}{l s='More'}{/if}</span> </a> </div> Ajaxcart.js: //for every 'add' buttons... $(document).off('click', '.ajax_add_to_cart_button').on('click', '.ajax_add_to_cart_button', function(e){ e.preventDefault(); var idProduct = parseInt($(this).data('id-product')); var idProductAttribute = parseInt($(this).data('id-product-attribute')); var minimalQuantity = parseInt($(this).data('minimal_quantity')); if (!minimalQuantity) minimalQuantity = 1; if ($(this).prop('disabled') != 'disabled') ajaxCart.add(idProduct, null, false, this, $('#quantity_to_cart_'+idProduct+'').val()); }); Link to comment Share on other sites More sharing options...
surprise82 Posted July 1, 2016 Author Share Posted July 1, 2016 Cioè penso che il problema sia sul file ajax-cart.js, perchè sul product-list.tpl funziona perfettamente, visto che lì serve solo per inserire la casella con il numero di pezzi. Il controllo viene fatto sul file del carrello, ma purtroppo non sono riuscito ad ottenere il risultato sperato Link to comment Share on other sites More sharing options...
Sito Lab Posted July 1, 2016 Share Posted July 1, 2016 come ti ho detto in precedenza 1 funziona 2 pulisci la cache 3 se le modifiche le hai fatte su un file errato allora ripristina i file originali e fai la modifica sui file giusti 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