Leaderboard
Popular Content
Showing content with the highest reputation since 08/21/2025 in Posts
-
3 points
-
8.2, dar în ambele cazuri este mai bine să faci o instalare curată și să migrezi datele. În orice caz, dacă faci o instalare curată sau actualizezi, dezactivează modulele personalizate, treci la tema clasică și fă o copie de rezervă înainte de orice acțiune.2 points
-
2 points
-
Just fyi - the "Recently Viewed" module fetches the entire list of product ID's (no filters involved) into RAM 3 times and does a for-loop style walk through looking for matching ID's from the cookies. This is the memory flaw I mentioned and uses an undue amount of CPU time. With 3.4MM items, this required upwards of 1.5GB of RAM per visitor to display a list of a half dozen recently viewed items. Thanks to bot traffic these days, it is not uncommon to have dozens of simultaneous requests being made against the site which offer little to no return value. Cloudflare catches most of these, but it can't catch them all. The fix was simple - adding an IN clause to the select for IDs, but still required custom modifications. The 450 queries (reduced to around 150 with caching enabled) the software executes are mainly to determine all of the feature, layout options, and customizations a site uses. This issue is not related to catalog size.2 points
-
I appreciate the suggestions, however disk I/O wasn't any part of the issue. Any software which fires 450 queries at the database server and consumes 1.5GB of RAM per visitor to display a product detail page has flaws that storage performance and database configuration tweaks won't solve. This was the results of the profiling done against the default install of PrestaShop with their catalog loaded. I submitted a pull request to deal with some of the initial memory issues I ran into, but the query counts are inherent in the way Presta's code is written. Some of these issues can be partially mitigated by reducing the functionality of the site, but that was honestly the initial appeal of using Presta. In this case, I am the agency working with the customer to update their site / software. I have years of experience in database administration, working with systems much larger than 3.4 million records. Some of my other customers have databases with billions of records and terabytes of data. They, however, are in the tech industry, not the lawn equipment industry. This was merely a test case for PrestaShop as it might have been a simple solution for their shop. The test systems used to initially profile the software had NVMe storage, hundreds of gigabytes of RAM available, and each test instance could be allocated dozens of cores if needed. However, the target hosting platform can not contain these sorts of specs as it is cost prohibitive to allocate such resources... unless self or co-locating the hosting. They do not have the technical resources for this. As mentioned previously, the solution ultimately chosen was to create a custom site. The resulting code and software have no problems querying the customer's catalog on much more modest hardware platforms. This is not a knock on PrestaShop. As I mentioned, I really enjoy the software and have used it for other projects. It just wasn't a good fit for this particular customer's needs. There is no such thing as a truly one size fits all e-Commerce solution. Aside from the size of the catalog, their needs included things like large supersession chains, product substitution lists, and the ability to lookup no longer available parts for cross referencing. These are not part of Presta's base functionality and would have required additional custom modules to be written. There were simply too many modifications needed to make it suit the purpose of the site.2 points
-
PrestaShop 8.2 vs 9.0: WebP (and AVIF) — what actually works • In PS 8.2 there’s a native WebP toggle, but it’s experimental. Path: Advanced Parameters → New & Experimental Features → Enable WebP. Then go to Design → Image Settings → Regenerate thumbnails (All images). • How it behaves in 8.2 – URLs may still show .jpg/.png, but browsers that support it get image/webp. – Most thumbnails convert; some originals remain JPG/PNG. – Requires GD or Imagick with WebP enabled; otherwise PS quietly falls back to JPG/PNG. – Some themes/modules don’t love the MIME swap. • Verify quickly – DevTools → Network → click an image → Content-Type: image/webp. – Or terminal: curl -I "https://yourshop.com/img/p/1/2/12-large_default.jpg" | grep -i content-type • Works in 8.2: regenerated thumbs, WebP delivery in supported browsers. • Limits in 8.2: no AVIF, inconsistent coverage, confusing file names; many shops still use an optimizer module for full coverage & fallbacks. • PS 9.0: WebP becomes first-class (not experimental), adds AVIF, and is more consistent across all image types. Full guide (steps, checks, tips): 👉 HERE2 points
-
Acabo de desarrollar un módulo para n8n que permite interactuar fácilmente con el Webservice/API de PrestaShop, abriendo un mundo de posibilidades en la automatización de procesos eCommerce. Si quieres una guía visual de instalación, funcionamiento y ejemplos prácticos de flujos de trabajo listos para importar en n8n, este video te interesa: 👉 El proyecto es open source y está disponible para colaboración: 👉 https://github.com/prestaalba/n8n-nodes-prestashopadvanced La automatización no es solo ahorrar tiempo, es abrir nuevas oportunidades para crecer. ¿Te sumas?2 points
-
Hi, i'll add a few more tips to what was written by El Patron. This is a bug of new Ps9 that will be fixed i think in the end of August with new release. Actually the code of the module is updated!!...but in backoffice it continue to show the message ..well to fix this you have to update the module and than reset the module and you will see the new version:-) https://github.com/PrestaShop/PrestaShop/issues/39151 Cheers2 points
-
Hi, you need to delete folder var/cache/prod and var/cache/dev. And also in database replace old domain with new one but not only ps settings, but all url in database like cms page or product description that contains links. Example move from dev.mydom.ext to www.mydom.ext in SQL dump file replace all occurrences of dev.mydom.ext by www.mydom.ext2 points
-
@Nickz Ich werde jetzt Thirtybees austesten. Ich habe die Nase im Moment von Prestashop voll. Seit der PHP Version3 (?) arbeite ich damit, aber so viele Probleme und auftretende Fehler habe ich noch nie in einem Script erlebt. Ob ich da etwas falsch mache oder nur derjenige bin der das Pech hat ausgerechnet den Punkt zu treffen, an dem ein Fehler sitzt - ich weiß es nicht. Ich habe auch im Moment keinerlei Antrieb mehr, noch mehr Arbeitszeit in dieses System zu investieren. Dank an alle, die versucht haben mir zu helfen! Norbert1 point
-
1 point
-
There are no defined standards for this. It really depends on the organization or platform. I’ve personally lost access to downloads on popular platforms like ThemeForest as well, when items were disabled or removed by the sellers. Usually, the free support period (3–6 months) is considered sufficient time to download the module and keep a backup on your end. Ideally, you should keep the backup with you.1 point
-
I developed the module “Merge Carts – Prevent Lost Shopping Carts on Login” that elegantly and efficiently solves this issue. If a customer adds items as a guest and then log in, this module intelligently merges the old saved cart with the new cart. The module “Merge Carts” fixes the default behavior of replacing one cart with the other upon login. Simply no more lost carts. Get the module — The module “Merge Carts” is available at: https://addons.prestashop.com/en/social-login-connect/96287-merge-carts-prevent-lost-shopping-carts-on-login.html Demo — You can try the demo at: https://www.bulletproof.se/_demos/mergecarts/ (btw, the demo is darn easy to use. It's got some cool features, and it's super easy to create an account and log in). Video — I explain the logic of how PrestaShop handles carts and how the module “Merge Carts” will fix it in this video: https://youtu.be/mXKQUnPAjw81 point
-
1 point
-
Using SMTP OR the default server email? If SMTP, have you checked if there are no restrictions on the "from email ID". "From email ID" is the same on PS8 & 9?1 point
-
Hola a todos, en digitalDot hemos trabajado en este tema porque también veíamos que hasta ahora solo había APIs intermedias de pago. Hemos desarrollado un módulo específico de VeriFactu para PrestaShop (compatible 1.7 y 8 ) que conecta directamente con los requisitos de la AEAT y automatiza la facturación cumpliendo con la normativa antifraude. Aquí explicamos en detalle cómo funciona y resolvemos las dudas más frecuentes: https://www.digitaldot.es/prestashop-verifactu-facturacion-obligatoria/ Si queréis más información o una demo, podéis escribirnos a través del formulario de contacto de digitalDot. Un saludo!1 point
-
This problem has been occurring for several weeks now. In short, the module is updated, but the config.xml file itself is not updated, as far as I remember. There is also another way: if you change the version in the config.xml file to the one compatible with the updated modulname.php, the update will be completed correctly 🙂1 point
-
Test with this one: if ($this->ps_below_7) { $total_to_pay = Context::getContext()->getCurrentLocale()->formatPrice( $params['total_to_pay'], $params['currencyObj']->iso_code ); $order = $params['objOrder']; } else { $total_to_pay = Context::getContext()->getCurrentLocale()->formatPrice( $params['order']->getOrdersTotalPaid(), (new Currency($params['order']->id_currency))->iso_code ); $order = $params['order']; }1 point
-
Thank you so much! I went through step one on the weekend, but I need my kids not be around when I'm doing terminal stuff 😃 found the culprit! server@censored:~$ grep -R "Spettacolo" public_html/ps/translations/it-IT/Install.it-IT.xlf: <target state="final">Sport e Spettacolo</target> public_html/ps/var/cache/dev/translations/catalogue.it-IT.NXhscRe.php: 'Show' => 'Spettacolo', public_html/ps/var/cache/dev/translations/catalogue.it-IT.NXhscRe.php: 'Sport and Entertainment' => 'Sport e Spettacolo', public_html/ps/var/cache/dev/translations/catalogue.it-IT.wdnhHxE.php: 'Sport and Entertainment' => 'Sport e Spettacolo', public_html/ps/themes/TheStyle/translations/it-IT/ShopThemeActions.it-IT.xlf: <target>Spettacolo</target>1 point
-
Ibilang ti pananglapped kadagiti kasta nga url iti robots.txt1 point
-
C’est une solution fortement déconseillée, car vous ne pouvez pas anticiper la réaction du module. S’il implémente des éléments en base de données, il y a de fortes chances qu’une réinstallation entraîne une suppression complète des données et une réinitialisation de sa configuration. Ce serait particulièrement regrettable de perdre l’intégralité d’un menu soigneusement paramétré en plusieurs heures de travail.1 point
-
Thank you for pointing us towards those github links. According to a post in this thread: https://github.com/PrestaShop/PrestaShop/issues/38856 I can confirm that the issue comes from a file called UseImageHooks.php, and I found such a file in: ./modules/ps_eventbus/src/Traits/Hooks/UseImageHooks.php I have replaced that file in my Prestashop 8.2.0 and it has resolved my issue also! Thanks again! 👍1 point
-
Merci de votre réponse et de toute l'aide donnée pour mon site. Claire1 point
-
1 point
-
En estos momentos no nos queda más opción que este tipo de servicios1 point
-
De estos sitios ya hay muchos, pero es lo que hablamos, en todos los casos tienes es una opción de pago mensual.1 point
-
I've seen it many times even on a clean installation but never had a motivation to actually examine it. Can you inspect the code in the console and see if this element has any ID or class?1 point
-
Hi PrestaShop Community, We are pleased to announce the latest update of our Loyalty Points Addon v1.0.7. This release brings enhanced compatibility and smoother performance, helping store owners reward customers more effectively. What’s New in This Release? Full compatibility with PrestaShop 9.x.x Seamless performance with PrestaShop 1.7 and 8. x.x General improvements and optimisations for stability Why choose Prestashop Loyalty Points Addon for your store? With this addon, store owners can: Reward customers with points for every purchase. Allow customers to redeem points as discounts on future orders. Encourage repeat purchases and build long-term loyalty. Configure point rules easily from the admin panel. Benefits for Store Owners Increase customer retention and lifetime value. Motivate shoppers to come back for repeat purchases. Offer flexible promotions without reducing product prices. Strengthen customer relationships by rewarding loyalty. The new version is now live. Upgrade to the latest version of the Prestashop Reward Points Addon and start turning your customers into loyal customers. Upgrade to the latest version here: https://addons.prestashop.com/en/503-referral-loyalty-programs Happy selling and many more successful conversions ahead! — Team Knowband1 point
-
No incluye plantillas móviles, eso seguro. Tienes que crearlo. Si necesitas ayuda, avísame por privado.1 point
-
1.7 korzysta też z parameters.php, więc pewnie chodzi tutaj o ten plik. Być może dokumentacja jest przedawniona.1 point
-
Hello, You do need to actually translate the module. Translating the module will create a translations directory inside it, which you can ship along with the module. Here are some useful links: new translation system and classic translation system You might also need to clear the cache once you added the translations as some of them (if I remember correctly, the description, at least) are getting cached1 point
-
Primero que nada, agradecer toda la ayuda que me podáis prestar. No tengo muchos conocimientos, pero hace años ya estuve trasteando con una tienda e imagino que ya habrá muchas más herramientas para facilitar la tarea. Saludos a todos. Paco1 point
-
Clear var/cache/*, delete browser cookies, and try in private mode. Check that PS_SHOP_DOMAIN and PS_SHOP_DOMAIN_SSL match your exact URL. In database set PS_COOKIE_CHECKIP to 0 to avoid IP conflicts. If it still fails, switch to Classic theme and disable non-native modules to test.1 point
-
Hi, I hope this helps, basically When you ran it in the back office, the DB backup failed with a “memory exhausted” error. When you ran it from CLI, the same backup step failed trying to create the compressed .bz2 file. In both cases the upgrade never started, because the module refuses to continue if its own backup didn’t complete. Since you’re already making backups at the hosting level (which is the safer way anyway), you don’t need PrestaShop’s built-in backup here. You can disable it: Option 1: Back office In Advanced Parameters → 1-Click Upgrade → Options, simply uncheck “Backup my database” (and even “Backup my files” if you don’t need those). Then run the upgrade from the admin again. The upgrade will proceed without trying to dump your large database. Option 2: CLI If you prefer the command line, you can achieve the same thing: On legacy CLI (cli-upgrade.php): edit adminXYZ/autoupgrade/config.json and set "skip_backup": 1. On the newer Update Assistant (bin/console): just run php bin/console update:start without calling backup:create. for db clean up here is guide your can follow.1 point
-
ça sens le texte généré par IA à plein nez 😞 Et l'IA n'a même pas indiqué les changements à faire dans le dump SQL qui est primordial pour les liens internes ! Merci de poster des choses utilises vérifiées et fiables, et non juste des posts pour augmenter votre badge...1 point
-
Hola, ¿Habéis encontrado algún modulo que sirva? Estoy teniendo la misma dificultad que vosotros... Yo he encontrado esta web https://verifactuprestashop.com pero no tiene link al módulo ni pone precio. ¿Alguien ha trabajado con ellos? Espero que salga una solución pronto. Saludos, David.1 point
-
Check for oldest https://github.com/202-ecommerce/stripe_official/releases?page=31 point
-
This is known issue since Feburary, lear more here. Tip: you can delete the folders (dev/prod) as PS will recreate them.1 point
-
I’m not sure what you’re asking. If your server doesn’t support exec and PrestaShop uses it, as clearly shown in the error you shared, then it simply won’t work. Unless you contact your hosting provider and they change the server settings. You can clear the cache manually by deleting the contents of these folders: var/cache/dev/* var/cache/prod/* You could also rewrite the function in PrestaShop, but that doesn’t make sense in the long run.1 point
-
En principio la integración API no debería ser dificil, ya que en prestashop tenemos la opción de conectar con APIs. Con módulo, por ahora, yo solo he encontrado este https://www.appsat.net/blog/cumple-con-la-nueva-ley-de-verifactu-en-prestashop-con-appsat/ tienen API y según dicen módulo para prestashop. En cualquier caso, será una opción de pago mensual para poder usar las funciones de la API (con o sin módulo) Supongo que según se acerque la fecha tope irán saliendo más cosas.1 point
-
The API changed for a long time you should use the following in method WebServiceCheck() $url='https://ec.europa.eu/taxation_customs/vies/rest-api/ms/'.urlencode($prefix).'/vat/'.urlencode($vat);1 point
-
Hi, I am getting messages about Polyfill as malware and I have been looking inside the archives and this software is completely full of Polyfill, I don't know how it is used or what it is used for and/or if they plan to replace it or remove it before we are affected by Mr Google blocks or if nothing is really going to happen. I would appreciate your comments, please.1 point
-
Ese texto deberia ser traducible/ editable desde Traducciones E-mails del núcleo - order_conf En caso de que no aparezca prueba a editarlos desde app/Resources/translations/es-ES/EmailsBody.es-ES.xlf1 point
-
I finally found a solution for this. The pull request, which integrated this message, helped me find out: https://github.com/PrestaShop/PrestaShop/pull/16063 You can simply add a translation for the according text block. In the back office, go to Design -> E-Mail-Themes and click "Translate E-Mails" for your language. There, search for "(waiting for validation)" and add your translation. If you want to remove the message completely, simply type a single space character into the translation field. In my case, the message is gone from the order_conf e-mail then.1 point
-
Prestashop 1.7 Ürünü Yıldızlarla Beğenme ve ürüne yorum ekleme Modülü. https://mypresta.eu/modules/advertising-and-marketing/free-product-reviews-comments.html1 point
-
1 point
-
Hi moy, You could do something like this: Edit file (or better, override): controllers/front/ProductController.php: add the following code: (find black code, add red code): $default_carrier =new Carrier((int)Configuration::get('PS_CARRIER_DEFAULT')); $carrier_zones = $default_carrier->getZones(); if (isset($carrier_zones) && !empty($carrier_zones)) { $first_carrier_zone = $carrier_zones[0]['id_zone']; $delivery_price = $default_carrier->getDeliveryPriceByWeight($this->product->weight, $first_carrier_zone); } else $delivery_price = 'not found'; $this->context->smarty->assign(array( 'stock_management' => Configuration::get('PS_STOCK_MANAGEMENT'), 'customizationFields' => ($this->product->customizable) ? $this->product->getCustomizationFields($this->context->language->id) : false, 'accessories' => $this->product->getAccessories($this->context->language->id), 'return_link' => $return_link, 'product' => $this->product, 'product_manufacturer' => new Manufacturer((int)$this->product->id_manufacturer, $this->context->language->id), 'token' => Tools::getToken(false), 'features' => $this->product->getFrontFeatures($this->context->language->id), 'attachments' => (($this->product->cache_has_attachments) ? $this->product->getAttachments($this->context->language->id) : array()), 'allow_oosp' => $this->product->isAvailableWhenOutOfStock((int)$this->product->out_of_stock), 'last_qties' => (int)Configuration::get('PS_LAST_QTIES'), 'HOOK_EXTRA_LEFT' => Hook::exec('displayLeftColumnProduct'), 'HOOK_EXTRA_RIGHT' => Hook::exec('displayRightColumnProduct'), 'HOOK_PRODUCT_OOS' => Hook::exec('actionProductOutOfStock', array('product' => $this->product)), 'HOOK_PRODUCT_ACTIONS' => Hook::exec('displayProductButtons', array('product' => $this->product)), 'HOOK_PRODUCT_TAB' => Hook::exec('displayProductTab', array('product' => $this->product)), 'HOOK_PRODUCT_TAB_CONTENT' => Hook::exec('displayProductTabContent', array('product' => $this->product)), 'display_qties' => (int)Configuration::get('PS_DISPLAY_QTIES'), 'display_ht' => !Tax::excludeTaxeOption(), 'currencySign' => $this->context->currency->sign, 'currencyRate' => $this->context->currency->conversion_rate, 'currencyFormat' => $this->context->currency->format, 'currencyBlank' => $this->context->currency->blank, 'jqZoomEnabled' => Configuration::get('PS_DISPLAY_JQZOOM'), 'ENT_NOQUOTES' => ENT_NOQUOTES, 'outOfStockAllowed' => (int)Configuration::get('PS_ORDER_OUT_OF_STOCK') , // <- add comma here! 'delivery_price' => $delivery_price )); Then, in themes/<your theme folder>product.tpl, add this code wherever you need it: {if $delivery_price} <div class = "estimated_delivery_price"> {l s='Initial delivery costs estimate :'}{convertPrice price=$delivery_price} </div> {/if} Result: To modify the decoration of the price or text, you can add some css code to themes/<your theme folder>/css/global.css, like: .estimated_delivery_price { font-size: 18px; } Hope that does the trick, pascal. ------------ P.S. the initial suggestion given above: Carrier::getDeliveryPriceByWeight($weight, $id_zone) Doesn't work directly, as the function is not declared 'static', so therefore we first have to create an instance (object) : $default_carrier =new Carrier((int)Configuration::get('PS_CARRIER_DEFAULT')); and then use this instance (i.e. object) to get to the function: $default_carrier->getDeliveryPriceByWeight(...) FYI :-)1 point
-
add in ligne 351 juste after $virtual_product = true; $link = new Link(); and change ligne 378 by : <td style="padding: 0.6em 0.4em;width: 30%;"><strong>'.$product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : '').' - '.Tools::displayError('Customized').(!empty($customization_text) ? ' - '.$customization_text : '').'<a href="'.$link->getProductLink($product['id_product']).'">review</a></strong></td>1 point
-
and what about preferences > store contacts? this is the right way to change shop name1 point