Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 10/18/2019 in all areas

  1. 2 points
    I think you have not been hacked but you are suffering from SPAM:
  2. 1 point
    Buenos días, Estoy desarrollando una web de flores, donde el precio es por unidad de flor pero se compran por paquetes de varias flores, es decir, existe una cantidad mínima o cantidad de flores en el paquete, 20 por ejemplo, y no se pueden comprar ni 19 ni 21, sino que de 20 debería de pasar a 40, y de 40 a 60, y así sucesivamente. He conseguido dicha funcionalidad en el selector de cantidad en la ficha del producto, y funciona perfectamente, tanto si pinchas en el botón de + o en el botón de -, hace la suma y la resta en múltiplos según el campo de cantidad mínima y se puede añadir el producto al carrito con la cantidad elegida. Pero existe un fallo en el selector de cantidad del carrito. Cuando estás en el carrito y pinchas en el botón de + o -, selecciona la cantidad en múltiplos, pero cuando hace la llamada al ajax para actualizar la cantidad y el total del precio aumenta o disminuye la cantidad de uno en uno (hace un +1 o un -1). Si tengo 20 en la cantidad y le doy al + se pone bien en 40 se carga el ajax y el input da un salto y se pone en 21 por lo que actualiza la cantidad a 21 y luego el valor de input salta y se pone de nuevo en 20, pero ya se ha guardado la cantidad de 21. He visto en el foro que varios tienen este problema, y he leído que es un bug de prestashop que todavía no se le ha dado solución. En estos post lo pone: https://github.com/PrestaShop/PrestaShop/issues/10162 Incluso hay un vídeo donde se puede ver, como cuando pincha en el botón + o -, en el input se coloca mal el número y luego da un salto al número correcto (que lo que me pasa a mí, Si tengo 20 en la cantidad y le doy al + se pone bien en 40 se carga el ajax y el input da un salto y se pone en 21 por lo que actualiza la cantidad a 21 y luego el valor de input salta y se pone de nuevo en 20, pero ya se ha guardado la cantidad de 21): https://www.youtube.com/watch?v=BI3s16RY53o&feature=youtu.be Estoy usando Prestashop 1.7.5.2, y adjunto también capturas para que vean lo que sucede. He hecho los siguientes cambios en estos archivos: En Product.js (Añadidos los valores de step y max en varias líneas del código): prestashop.on('updatedProduct', function (event) { createInputFile(); coverImage(); if (event && event.product_minimal_quantity) { const minimalProductQuantity = parseInt(event.product_minimal_quantity, 10); const quantityInputSelector = '#quantity_wanted'; let quantityInput = $(quantityInputSelector); let quantityMax = document.getElementById('Pmax').value; // @see http://www.virtuosoft.eu/code/bootstrap-touchspin/ about Bootstrap TouchSpin // quantityInput.trigger('touchspin.updatesettings', {min: minimalProductQuantity}); quantityInput.trigger('touchspin.updatesettings', {min: minimalProductQuantity,step: minimalProductQuantity,max: quantityMax}); } imageScrollBox(); $($('.tabs .nav-link.active').attr('href')).addClass('active').removeClass('fade'); $('.js-product-images-modal').replaceWith(event.product_images_modal); }); function createProductSpin() { let quantityInput = $('#quantity_wanted'); quantityInput.TouchSpin({ verticalbuttons: true, verticalupclass: 'material-icons touchspin-up', verticaldownclass: 'material-icons touchspin-down', buttondown_class: 'btn btn-touchspin js-touchspin', buttonup_class: 'btn btn-touchspin js-touchspin', min: parseInt(quantityInput.attr('min'), 10), max: parseInt(quantityInput.attr('max'), 10), step: parseInt(quantityInput.attr('step'), 10) }); quantityInput.on('change', function (event) { let $productRefresh = $('.product-refresh'); $(event.currentTarget).trigger('touchspin.stopspin'); $productRefresh.trigger('click', {eventType: 'updatedProductQuantity'}); event.preventDefault(); return false; }); } En product-add-to-cart.tpl (Añadidos los valores de step y max en varias líneas del código): <div class="qty"> <span class="control-label">{l s='Quantity' d='Shop.Theme.Catalog'}</span> <input type="text" name="qty" id="quantity_wanted" value="{$product.quantity_wanted}" class="input-group" min="{$product.minimal_quantity}" step="{$product.minimal_quantity}" max="{$product.quantity_available}" /> </div> En cart.js (Añadidos los valores de step y max en varias líneas del código): function createSpin() { $.each($(spinnerSelector), function (index, spinner) { $(spinner).TouchSpin({ verticalbuttons: true, verticalupclass: 'material-icons touchspin-up', verticaldownclass: 'material-icons touchspin-down', buttondown_class: 'btn btn-touchspin js-touchspin js-increase-product-quantity', buttonup_class: 'btn btn-touchspin js-touchspin js-decrease-product-quantity', min: parseInt($(spinner).attr('min'), 10), max: parseInt($(spinner).attr('max'), 10), step: parseInt($(spinner).attr('step'), 10) }); }); } En cart-detailled-product-line.tpl (Añadidos los valores de step y max en varias líneas del código): <div class="col-md-6 col-xs-6 qty"> {if isset($product.is_gift) && $product.is_gift} <span class="gift-quantity">{$product.quantity}</span> {else} <input class="js-cart-line-product-quantity" data-down-url="{$product.down_quantity_url}" data-up-url="{$product.up_quantity_url}" data-update-url="{$product.update_quantity_url}" data-product-id="{$product.id_product}" type="text" value="{$product.quantity}" name="product-quantity-spin" min="{$product.minimal_quantity}" step="{$product.minimal_quantity}" max="{$product.quantity_available}" /> {/if} </div> En theme.js (Añadidos los valores de step y max en varias líneas del código): !function() { var t = (0, o.default)("#quantity_wanted"); t.TouchSpin({ verticalbuttons: !0, verticalupclass: "material-icons touchspin-up", verticaldownclass: "material-icons touchspin-down", buttondown_class: "btn btn-touchspin js-touchspin", buttonup_class: "btn btn-touchspin js-touchspin", min: parseInt(t.attr("min"), 10), step: parseInt(t.attr("step"), 10), max: parseInt(t.attr("max"), 10) }); function o() { s.default.each((0, s.default)(c), function(t, e) { (0, s.default)(e).TouchSpin({ verticalbuttons: !0, verticalupclass: "material-icons touchspin-up", verticaldownclass: "material-icons touchspin-down", buttondown_class: "btn btn-touchspin js-touchspin js-increase-product-quantity", buttonup_class: "btn btn-touchspin js-touchspin js-decrease-product-quantity", min: parseInt((0, s.default)(e).attr("min"), 10), step: parseInt((0, s.default)(e).attr("step"), 10), max: 1e6 }) }), f.switchErrorStat() } Si alguien me puede echar una mano... Gracias de antemano!!! Un saludo!
  3. 1 point
    Das ist normales verhalten, jedenfalls mit dem kostenlosen Modul 3.x. Im mobile Bereich wird anscheinend davon ausgegangen das keiner per Lastschrift oder Kreditkarte bezahlt 😉 D.h. im mobile Bereich wird das normale PayPal verwendet und im Desktop dann PayPal Plus. Du kannst ja beide API Daten eintragen, für PayPal Express (Mobil) findest die unter Einstellung bei PayPal direkt. Für PayPal Plus musst Dir eh eine App erstellen auf der developer Seite von PayPal. Zum Modul von GurkCity kann ich nichts sagen, aber denke das setzt auf einen Zweig vom normalen Modul auf. Wenn Du wirklich PayPal Plus auf allen Geräten haben möchtest bleibt nur das Kaufmodul, findest im Store - ~150€
  4. 1 point
    .../blocktopdropdownmenu/js/hoverIntent.js interval: 0;
  5. 1 point
    You mean the total products in your shop? Regardless of the version I think the easiest way is to code a simple module, hook it to the homepage and use a simple query like SELECT COUNT(id_product) from *prefix*product and return a string, even without template. Here is how to make a simple module, the video down the page http://nemops.com/prestashop-modules-course/ Apart from that I doubt there is a variable already available, at least as far as I know. Or, you can use an override of FrontController.php, using the same query, and then adding the text in any template you choose.
  6. 1 point
    And if you don't want check the solution, update your ps 1.6, the last version has a fix for your problem.
  7. 1 point
    /cache/class_index.php supprimé ?
  8. 1 point
    This is SPAM. Please check the solution I posted you previously.
  9. 1 point
    Thanks so much @El Patron your help has been amazing. Your team has provided an amazing service. Just wow. Cheers... Steven
  10. 1 point
    Réponse : Doublage de fonction : $this->product->description = $this->transformDescriptionWithImg($this->product->description); $this->product->description = $this->transformDescriptionWithIDPRICE($this->product->description); Ajout de : protected function transformDescriptionWithIDPRICE($desc) { $reg = '/\[id\-([0-9]+)\]/'; while (preg_match($reg, $desc, $matches)) { $prix_id = number_format(Combination::getPrice($matches[1]),2); $html_id = '<span>'.$prix_id.'&nbsp;€</span>'; $desc = str_replace($matches[0], $html_id, $desc); } return $desc; } Voilà c'est pas plus compliqué pas besoin de modules super louches =)
  11. 1 point
    tu as vérifié que tu as du courant sur ta prise électrique? Je blague à peine, ta question est tellement ouverte avec si peu d'information qu'il est impossible de te répondre
  12. 1 point
    Hvis du sælger dine varer i Danmark skal dine priser angives i dansk valuta. At du først findes på side 20 handler om SEO optimering (der er en hel diciplin for sig selv). Fejlen du oplever kan skyldes mange ting, men uden hverken link eller oplysninger om version, er det stort set umuligt at hjælpe. Husk i øvrigt at rette dit indlæg om skift af navneserver til løst. Vi har en række retningslinjer for forum, du meget gerne lige må læse.
  13. 1 point
    Fair nok. Men hvis jeg tilgår en dansk hjemmeside med priser i EUR ville jeg skynde mig væk. Blot min ydmyge mening.
  14. 1 point
    możesz spróbować usunąć w plikach językowych to sformułowanie, ale sprawdź najpierw czy nie jest nigdzie niezbędne sam mam zamiar to zrobić, ale jeszcze nie teraz, i zamierzam właśnie to sformułowanie usunąć z pozycji plików językowych edit: ponieważ występuje to w kilku miejscach, musisz odnaleźć właściwe
  15. 1 point
    A nagyító ikont például itt tudod cserélni: https://urbantrend.hu/themes/theme1420/css/product_list.css 152-es sor: ul.product_list .quick-view:before { font-family: 'Material Icons'; content: "\e8ff"; display: inline-block; font-weight: normal; font-size: 25px; line-height: 27px; } Kívánságlista 184, összehasonlítás 196, kosárba rakás pedig 312-es sor ugyanebben a fájlban.
  16. 1 point
    Bonjour, Le module vient tout juste de sortir, il est prévu une version 1.6 c'est dans la roadmap présenté aux agences la semaine dernière
  17. 1 point
    Salut, Il est un peut tôt pour qu'une version arrive compatible 1.6 mais j'avoue que ce principe de tout faire que pour la 1.7 est très décalé par rapport à la situation du CMS. Ils cherchent à imposer la 1.7 par tous les moyens.
  18. 1 point
    Hi there! I am using Prestashop 1.7.5.1 and this worked for me: 1. Change the dimensions for the "category_default" images: 1.1 From the admin panel go to Design> Images> category_default 1.2 Assign a size of 1170px x 320px 2. Show the image as a background instead of <img> 2.1 In my file directory go to mydomain.com/themes/classic/templates/catalog/_partials 2.2 Open the file "category-header.tpl" 2.3 Identify the following line: <div class = "block-category card card-block"> 2.4 Add the background as an inline style (only if a loaded image was found for this category), it would look like this: <div class = "block-category card card-block" {if $ category.image.large.url} style = "background: url ({$ category.image.large.url}) center right / cover no-repeat" {/ if}> 2.5 Remove the code block where the category image is shown with a <img> tag {if $ category.image.large.url} <div class = "category-cover"> <img src = "{$ category.image.large.url}" alt = "{if! empty ($ category.image.legend)} {$ category.image.legend} {else} {$ category.name} { / if} "> </div> {/ if} ---------------------- My final code looked like this: <div id = "js-product-list-header"> {if $ listing.pagination.items_shown_from == 1} <div class = "block-category card card-block" {if $ category.image.large.url} style = "background: url ({$ category.image.large.url}) center right / cover no-repeat" {/ if}> <h1 class = "h1"> {$ category.name} </h1> {if $ category.description} <div id = "category-description" class = "text-muted"> {$ category.description nofilter} </div> {/ if} <! - {if $ category.image.large.url} <div class = "category-cover"> <img src = "{$ category.image.large.url}" alt = "{if! empty ($ category.image.legend)} {$ category.image.legend} {else} {$ category.name} { / if} "> </div> {/ if} -> </div> {/ if} </div> pd: Sorry for my bad English, I'm Spanish speaker, hehe 😅
  19. 1 point
    Si tu est sur un serveur mutualisé ce n'est pas possible de changer cela. Cependant il y a une manière de contourner ce problème pour le processus de mise à jour de prestashop. Avant de faire la mise à jour tu va sur la page "Paramètre Avancées => Performance" et tu bascule sur "Oui" l'option "Désactiver toutes les surcharges" puis tu clic sur "vider le cache" Une fois fait tu retourner sur 1 click update puis tu refait un check de mise à jour. Et normalement il devrait te proposer la mise à jour sans l'avertissement du délai max execution time. Une fois la mise à jour de prestashop faite tu n'a plus qu'a réactiver l'option "Desactiver toutes les surcharge" en la rebasculant sur non pour retrouver tes "surcharge". Cordialement,
  20. 1 point
    Alright Guys, this will make the phone number mandatory in your checkout/cart I got this to work. Hope this fix works for you. 1st go here. In your BO > Customers > Addresses> @ the bottom of your customer list there is " + set required fields for this section" click that button. UNCHECK ALL>>>> save!! Next, go here>>> International>> Locations>> Countries >> for me, edit " USA " (I only sell in the USA. This part can get tricky, for ALL the countries you have in your checkout/cart, you must do this to.) This is how mine is setup: firstname lastname company address1 address2 State:name postcode city phone Country:name SAVE YOUR WORK!!! After setting this up, make sure this works in the checkout/cart. (for all counties) with OUT errors. Do some testing. At this point , phone will still be optional. Again , make sure it works before moving on, very important!!! Next >> go back to In your BO > Customers > Addresses> @ the bottom of your customer list there is " + set required fields for this section" click that button. Now check mark ONLY the phone, SAVE! This makes it Mandatory. For some reason, my screen shots would not upload, sorry. Now this is SOLVED! Hope this help ya.
  21. 1 point
    Jestem bardzo zmęczona w polskiej firmie to odbywa się tak że ludzie myślą , w firmie X pani Kasia kontaktuje się z firmą w której był zakupiony szablon i pomaga klientowi ponieważ klient podaje jej dane to się nazywa współpraca dzięki temu klient wraca jest zadowolony itp. Za granica martw się sam!!! Nigdy więcej nie kupie od nich nic i od presta też nic nie kupię nie mam czasu na pisanie maili do ludzi którzy mają mnie w poszanowaniu i nie potrafią sklecić jednego logicznego zdania !! Hasło i mail z którego robiłam zakupy nie pamiętam za nim znajdę zaloguje się minie kilka dni potem jeszcze próba dogadania się z ludźmi którzy ....... nie ma dla mnie sensu!!!! bo zamiast robić sklep marnuje czas!!!
  22. 1 point
    Hi, classes/Mail.php Change: $subject = '['.Configuration::get('PS_SHOP_NAME', null, null, $id_shop).'] '.$subject; To: //$subject = '['.Configuration::get('PS_SHOP_NAME', null, null, $id_shop).'] '.$subject; It works for me
  23. 1 point
    I have found a snippet in FrontController.php how to get page name if (!empty($this->page_name)) { $page_name = $this->page_name; } elseif (!empty($this->php_self)) { $page_name = $this->php_self; } elseif (Tools::getValue('fc') == 'module' && $module_name != '' && (Module::getInstanceByName($module_name) instanceof PaymentModule)) { $page_name = 'module-payment-submit'; } // @retrocompatibility Are we in a module ? elseif (preg_match('#^'.preg_quote($this->context->shop->physical_uri, '#').'modules/([a-zA-Z0-9_-]+?)/(.*)$#', $_SERVER['REQUEST_URI'], $m)) { $page_name = 'module-'.$m[1].'-'.str_replace(array('.php', '/'), array('', '-'), $m[2]); } else { $page_name = Dispatcher::getInstance()->getController(); $page_name = (preg_match('/^[0-9]/', $page_name) ? 'page_'.$page_name : $page_name); }
  24. 1 point
    It would be possible to modify the existing "Search block" to do that. Just need to add the shop dropdown and then use JavaScript to change the form URL to the selected shop URL.
  25. 1 point
    there is other you may consider to use, in method Send() of Mail.php class, you can replace the parameter $from with noreply@domain.com. only replace it when $from is your store admin contact email, see below. /classes/Mail.php or (recommended) /override/Mail.php From public static function Send($id_lang, $template, $subject, $templateVars, $to, $toName = NULL, $from = NULL, $fromName = NULL, ...............) { TO public static function Send($id_lang, $template, $subject, $templateVars, $to, $toName = NULL, $from = NULL, $fromName = NULL, ...............) { if($from == "xxxxxxxx")$from = "noreply@domain.com";
  26. 1 point
    Hi, can you please elaborate more on this. Perhaps you can share an exerpt of your htaccess with us here..
  27. 1 point
    Good morning I thought you could do this if you went to: Back office > Modules > Modules > Front office features > Theme configurator > Scroll down and disable Quick View Paul
  28. 1 point
    you can use sql query capitalize: UPDATE ps_product_lang set name= CONCAT(UPPER(LEFT(name, 1)), SUBSTRING(name, 2)); uppercase: UPDATE ps_product_lang set name=upper(name); lowercase: UPDATE ps_product_lang set name=lower(name);
  29. 1 point
    Also I have another question, I've tried using media server, copied the /img folder on the VPS and created an redirected the subdomain, however the images won't load, because it looking for the image in this link: http://media1.mysite.com/19609-rect_default/image-name.jpg that is a Friendly URL, but of course the real image is in: http://<that servers IP address>/img/1/5/2/3/image-name.jpg the subdomain will redirect successfully to the VPS IP address and it'll be like: http://<that servers IP address>/19609-rect_default/image-name.jpg which is obviously not true. Disabling Friendly URLs in BO will do the job but I don't really look forward to disabling friendly URLs. Anyone has and idea how to work around this?
  30. 1 point
    Hello, in modules/dibs/dibs.php file, find /** * Set the smarty object * @var Smarty */ private $smarty; and change it to /** * Set the smarty object * @var Smarty */ protected $smarty;
  31. 1 point
    You can also use : {$link->getProductLink($product)} It also works with mod_rewrite links. Stéphane
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More