Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 07/01/2021 in Posts

  1. Bonjour à toutes et à tous, C'est à la suite de l'appel de l'un de mes amis que je vous fais part de cette arnaque. Celui-ci reçoit ce matin un appel de Madame Laroche, soi-disant contrôleuse à la CNIL, qui lui indique que son site rencontre des problèmes de conformité RGPD. Elle lui demande de se mettre en relation avec un certain Monsieur Grange et lui demande de l'appeler au 0173783505 afin qu'il lui délivre un certificat de conformité DPO. Apparemment rien d'anormal mais il décide quand même de m'appeler car il sait que j'ai les bons contacts pour dépatouiller cette affaire, et il est vraiment persuadé que c'est bien la CNIL qui l'a contacté car le numéro de téléphone qui s'affiche et qu'il a vérifié sur le net est bien celui de leur standard téléphonique (0153732222). Je regarde son site internet mais je ne vois rien d'anormal, il est bien conforme RGPD. Je commence à trouver cela étrange et je décide d'appeler le service juridique de la CNIL. Je leur expose le soucis de mon ami et dès que je prononce le nom de Madame Laroche, la juriste me dit : "attention, c'est une arnaque RGPD de grande envergure, nous connaissons ces personnes qui n'ont rien à voir avec la CNIL, ils opèrent de cette façon depuis des mois, métier par métier." La juriste n'a pu m'en dire plus concernant le fait que ce soit leur numéro qui apparaisse lors des appels, une enquête est en cours. C'est très bien ficelé et nombreuses sont les personnes à tomber dans le panneau, et au final, leurs victimes se font escroquer de 1200 euros. C'est avec l'accord de la juriste de la CNIL que je vous donne le lien qui explique ce type d'arnaque (faîtes passer le message à vos clients) : https://www.cnil.fr/fr/attention-aux-arnaques-rgpd
    5 points
  2. Compatible with version: Prestashop 1.7+ Tutorial last update: 22/07/2021 Special thanks to following contributor(s): @mfdenis, @Inter Svetainė, @seblyon, @Oelita A while ago i received the question on how to add products programmatically using a PHP file. After looking around in the Prestashop files and searching the worldwide-web i have come up with a working script. I decided to share this code with the Prestashop community. If you have any questions our improvements don't hesitate to ask or say them. The file we are creating can be easily run with a cron-job and is able to fetch data from a page using JSON trough an Ajax call. Lets get started! The first step is creating a new PHP file in your admin folder. Create a new PHP file in the folder yourstore/back-office/FILENAME.php. In our small tutorial we use the filename importmyproduct.php Setting up connection with the config file First we start to check if the global variable _PS_ADMIN_DIR_ is defined. After we check that _PS_ADMIN_DIR_ is defined we will make connection with the prestashop config.inc.php file. So on top of our page we will add following code. <?php // Check if _PS_ADMIN_DIR_ is defined if (!defined('_PS_ADMIN_DIR_')) { // if _PS_ADMIN_DIR_ is not defined, define. define('_PS_ADMIN_DIR_', getcwd()); } // Setup connection with config.inc.php (required for database connection, ...) include(_PS_ADMIN_DIR_.'/../config/config.inc.php'); Adding access security and check if page is setup correctly. Since we do not want that our importmyproduct.php can be easily accessed by strangers we will add a security feature. We will also display our first echo to check if everything is working correctly. After we have setup our secure-key we can visit our PHP page by going to yourstore.com/yourbackoffice/importmyproduct.php?secure_key=yoursecuretoken $secure_key = 'ed3fa1ce558e1c2528cfbaa3f99403'; // Check if the client use the correct secure_key, url to use: www.yourstore.com/yourbackoffice/importmyproduct.php?secure_key=ed3fa1ce558e1c2528cfbaa3f99403 if(!Tools::getValue('secure_key') || Tools::getValue('secure_key') != $secure_key) { // If the secure_key is not set our not equal the php page will stop running. die('UNAUTHORIZED: We dont want you on this page!'); } echo 'Welcome, the secure_key you have used is correct. Now we can start adding product programmatically ... <br>'; Our product import function In this next step we will add our product import function which can be called later on to import a new product. function addProduct($ean13, $ref, $name, $qty, $text, $features, $price, $imgUrl, $catDef, $catAll) { $product = new Product(); // Create new product in prestashop $product->ean13 = $ean13; $product->reference = $ref; $product->name = createMultiLangField(utf8_encode($name)); $product->description = htmlspecialchars($text); $product->id_category_default = $catDef; $product->redirect_type = '301'; $product->price = number_format($price, 6, '.', ''); $product->minimal_quantity = 1; $product->show_price = 1; $product->on_sale = 0; $product->online_only = 0; $product->meta_description = ''; $product->link_rewrite = createMultiLangField(Tools::str2url($name)); // Contribution credits: mfdenis $product->add(); // Submit new product StockAvailable::setQuantity($product->id, null, $qty); // id_product, id_product_attribute, quantity $product->addToCategories($catAll); // After product is submitted insert all categories // Insert "feature name" and "feature value" if (is_array($features)) { foreach ($features as $feature) { $attributeName = $feature['name']; $attributeValue = $feature['value']; // 1. Check if 'feature name' exist already in database $FeatureNameId = Db::getInstance()->getValue('SELECT id_feature FROM ' . _DB_PREFIX_ . 'feature_lang WHERE name = "' . pSQL($attributeName) . '"'); // If 'feature name' does not exist, insert new. if (empty($FeatureNameId)) { Db::getInstance()->execute('INSERT INTO `' . _DB_PREFIX_ . 'feature` (`id_feature`,`position`) VALUES (0, 0)'); $FeatureNameId = Db::getInstance()->Insert_ID(); // Get id of "feature name" for insert in product Db::getInstance()->execute('INSERT INTO `' . _DB_PREFIX_ . 'feature_shop` (`id_feature`,`id_shop`) VALUES (' . $FeatureNameId . ', 1)'); Db::getInstance()->execute('INSERT INTO `' . _DB_PREFIX_ . 'feature_lang` (`id_feature`,`id_lang`, `name`) VALUES (' . $FeatureNameId . ', ' . Context::getContext()->language->id . ', "' . pSQL($attributeName) . '")'); } // 1. Check if 'feature value name' exist already in database $FeatureValueId = Db::getInstance()->getValue('SELECT id_feature_value FROM ' . _DB_PREFIX_ . 'feature_value WHERE id_feature_value IN (SELECT id_feature_value FROM `' . _DB_PREFIX_ . 'feature_value_lang` WHERE value = "' . pSQL($attributeValue) . '") AND id_feature = ' . $FeatureNameId); // If 'feature value name' does not exist, insert new. if (empty($FeatureValueId)) { Db::getInstance()->execute('INSERT INTO `' . _DB_PREFIX_ . 'feature_value` (`id_feature_value`,`id_feature`,`custom`) VALUES (0, ' . $FeatureNameId . ', 0)'); $FeatureValueId = Db::getInstance()->Insert_ID(); Db::getInstance()->execute('INSERT INTO `' . _DB_PREFIX_ . 'feature_value_lang` (`id_feature_value`,`id_lang`,`value`) VALUES (' . $FeatureValueId . ', ' . Context::getContext()->language->id . ', "' . pSQL($attributeValue) . '")'); } Db::getInstance()->execute('INSERT INTO `' . _DB_PREFIX_ . 'feature_product` (`id_feature`, `id_product`, `id_feature_value`) VALUES (' . $FeatureNameId . ', ' . $product->id . ', ' . $FeatureValueId . ')'); } } // add product image. $shops = Shop::getShops(true, null, true); $image = new Image(); $image->id_product = $product->id; $image->position = Image::getHighestPosition($product->id) + 1; $image->cover = true; if (($image->validateFields(false, true)) === true && ($image->validateFieldsLang(false, true)) === true && $image->add()) { $image->associateTo($shops); if (!uploadImage($product->id, $image->id, $imgUrl)) { $image->delete(); } } echo 'Product added successfully (ID: ' . $product->id . ')'; } We also will need a function to handle our image upload, add below following code: This function will insert the image into your store and assign it to your created product. function uploadImage($id_entity, $id_image = null, $imgUrl) { $tmpfile = tempnam(_PS_TMP_IMG_DIR_, 'ps_import'); $watermark_types = explode(',', Configuration::get('WATERMARK_TYPES')); $image_obj = new Image((int)$id_image); $path = $image_obj->getPathForCreation(); $imgUrl = str_replace(' ', '%20', trim($imgUrl)); // Evaluate the memory required to resize the image: if it's too big we can't resize it. if (!ImageManager::checkImageMemoryLimit($imgUrl)) { return false; } if (@copy($imgUrl, $tmpfile)) { ImageManager::resize($tmpfile, $path . '.jpg'); $images_types = ImageType::getImagesTypes('products'); foreach ($images_types as $image_type) { ImageManager::resize($tmpfile, $path . '-' . stripslashes($image_type['name']) . '.jpg', $image_type['width'], $image_type['height']); if (in_array($image_type['id_image_type'], $watermark_types)) { Hook::exec('actionWatermark', array('id_image' => $id_image, 'id_product' => $id_entity)); } } } else { unlink($tmpfile); return false; } unlink($tmpfile); return true; } Multi language support. As you can see in the above code we call the function createMultiLangField() This function make sure we add our product to all available languages on your store. Add the following function to your script. function createMultiLangField($field) { $res = array(); foreach (Language::getIDs(false) as $id_lang) { $res[$id_lang] = $field; } return $res; } The last step And after this all we come at our last step, adding our first programmatically created product. This can be done by calling our function addProduct and pass the necessary values. addProduct( '1234567891234', // Product EAN13 'Tutorial by Crezzur', // Product reference 'Crezzur', // Product name 5, // Product quantity 'Code by Crezzur (https://crezzur.com)', // Product description array( // Product features (array) array("name" => "Color", "value" => "Red"), array("name" => "Height", "value" => "200cm"), ), '999.95', // Product price 'https://crezzur.com/img/crezzur-logo-1544601440.jpg', // Product image 1, // Product default category array(1, 5) // All categorys for product (array) ); For the people that don't want to copy paste all the code we have created a file which contains all of the above the full code file can be found here : https://crezzur.com/en/modules/10-script-for-adding-prestashop-17-products-programmatically Using the code above will allow you to mass import products using a Ajax call (JSON) our using a CSV file. We do not add this code since the variables for each web service will be different. Generate Products Packs In PHP For those searching to import product packs with my code can find more information about this in the topic of @jmauclair A like and/or a thank you for my work is much appreciated
    3 points
  3. Yes, j'ai trouver une solution encore plus simple 😃 Après la 1ère installation avec l'erreur, vous devez supprimer le contenue du dossier ps_facebook, ensuite vous modifiez les droits d'accès du dossier en 400 (lecture) et pour finir vous cliquez sur le lien pour recommencer l'installation. Prestashop n'aura pas accès au dossier ps_facebook et va installer le ps_facebook .zip dans le dossier modules que vous supprimerez après installation. Mais quel galère sérieux
    3 points
  4. El consent mode NO CONTABILIZA las visitas cuando el usuario NO a aceptado las cookies, o sea Consent mode "analytics_storage : Denied" Estos modulos de bloqueo de modulos NO tienen el sistema de consent mode, puede que en un futuro lo añadan, ellos sabran @idnovate.com ya os digo que es una jodiendo aplicarlo y mas como lo tenéis. Mi modulo SI, y los módulos y herramientas tipo Cookibot "de pago" también lo tiene Ademas indicas esto : "alguna forma de poder contabilizar las visitas sin que analytics esté activo" Esto solo se puede hacer por API y en forma anonima, pero no estoy seguro si es 100% legal con la normativa. Analitics SIEMPRE añade una cookie, si bloqueas las cookies bloqueas analitics, LEGALMENTE no puedes registrar una visita si no ha sido aceptada, o puede puede que por API y anonimo, sin "referral" puede, pero esa visita no te sirve para nada.
    2 points
  5. Qui, c'est possible. L'important est que votre hébergement vous permette de gérer deux bases de données différentes, une pour le site de production et l'autre pour tous les tests que vous souhaitez faire. Si ce n'est pas le cas, la meilleure solution est de créer un clone de votre site localement avec XAMPP. Danny
    2 points
  6. Bonjour, Oui c'est possible. Un sous domaine du genre https://test.domaine.fr ou en sous répertoire https://domaine.fr/test/ (Pensez par contre à le protéger histoire que Google ou autres ne commencent pas à le référencer/visiter) PS: Un nom de domaine c'est environ 2€ a 10€/an, pas de quoi ruiner votre compte bancaire
    2 points
  7. Seul ceux qui ne font rien ne se trompe ntjamais 🙂
    2 points
  8. Today we are glad to release our new version 0.0.4. Since version 0.0.4 a new tab called PS Cleaner has been added. This tab allows you to quickly see which database tables are taking up large amounts of megabytes in your database. All the database tables shown can be emptied without harming your webshop. Most of these tables are used for keeping logs and statistics. That is why you can empty it on a regular basis without any problems.
    2 points
  9. Comme pour +/- tous les codes "saboté" par les namespace en 1.6, il suffit de passer par un code proxy pour éviter que l'eval() ne crashe. Renommer colissimo.php en colissimoModule.php Créer le proxy colissimo.php <?php /* Code proxy to avoid eval crash on namespace */ require_once(_PS_MODULE_DIR_.'colissimo/colissimoModule.php');
    2 points
  10. https://github.com/202-ecommerce/stripe_official/releases/download/2.3.1/v2.3.1-prod-stripe_official.zip
    2 points
  11. We have developed a new module which displays always the same final price, even when different VAT rates are applied. You can purchase it at 👉 https://store.idnovate.com/en/payment/1443-same-price-after-vat-applied-with-different-vat-rates.html 👈 For example, for this product: It will always display €100 as final price. This is the price displayed in Spain: France: Italy: And the information is displayed correctly in the invoice. Spain: France: Italy: If you want you can apply this configuration only for some products, customers, or even only for some countries. In this case the rest of the products/customers/countries will have the same behaviour than before. There's a demo available at 👉 https://store.idnovate.com/en/payment/1443-same-price-after-vat-applied-with-different-vat-rates.html 👈 💣 💣 SPECIAL OFFER: Until the end of this month, get an additional 50% discount introducing the code "VAT" in the checkout.
    2 points
  12. !important est toujours un mauvais choix passez en vue developpeur de votre navigateur et voyez quelle css masque les votres - souvent un sélecteur plus pertinent
    2 points
  13. Well, kind of like this one, but with hability to disable modules when users denied the use of cookies. I don't see this feature in the module you shared. I think that due to the importance of it, this sort of modules would deserve to be built and maintained by the Prestashop team.
    2 points
  14. Nie tylko brak możliwości wpisania le także wyboru np. Pani / Pan. Czy możesz tymczasowo wyłączyć moduł, moduły odpowiadające za: * zdjęcie ). Wyłącz, wyczyść cache i sprawdź. Moim zdaniem na telefonie jest to wina ww, zły hook lub źle się skaluje.
    2 points
  15. With this module you can remove » Powered by PrestaShop « footer text from the modern mail theme, in all automatic emails. The blue box will be removed Key features Admin page to enable/disable option. Easy to setup For all language The outgoing email structure won’t change, only a table row will be removed. Requirements PrestaShop 1.7.6 or later Change log 1.0.1 – 2021-07-20 – Bug fix: attributes with {variable_name} brackets converted back to normal. 1.0.0 – 2021-06-30 – First release Installation After download, maybe you have to rename the downloaded file to: modernpbpremoval.zip Install the module Enable remove option under Back Office Generate HTML emails under Improve ‐ Design ‐ Email Theme Please note: Use these settings live, you have to generate the email files. All the modifications made directly in the emails will be overwritten when you do the generating process. If you wish to backup your currently email files, You must do it via FTP! modernpbpremoval.zip
    2 points
  16. This module allows you to set a domain for every installed language. That means you can set a domain extension for each installed language. No multistore is needed! Have a unique domain for every language (or country) that you are selling your products. Once you set a domain for every language the module does the following: Removes the language in behind the url Adds a language selector in the front office Rewrites all the urls for the selected language No multistore for multiple urls Front office language selector redirects to corresponding url Upon changing language in front office, you keep your shopping cart Easier to have a domain for their preferred language After installation set the desired URL for each language you have installed. Even when you are using multistore you can set a domain for every language in every multistore. Prestashop's module: Language selector block does not function anymore. But this module has a language selector build in for front office. Download: languageperdomain.zip (Module is for Prestashop 1.7) Updates V1.0.5 - Cross domain issue fix for images and stylesheets / javascript Please consider donating and liking this post
    2 points
  17. Try this (attachment) ps_emailalerts pasuje do 1.7.zip
    2 points
  18. Cover up mistakes upgrading hosting (thinking things magically will be ok) it's not always a good move and not (for sure) a good point to start. You can have any hosting you want, but if you don't know how to use it (and how to use and optimize your PS) your website will always be disappointing. Not maybe for you, but for your users for sure. Fill your PS with junk everywhere and no hosting will saves you from a bad site. Meanwhile, a good optimization (and a good use of what you got and how use it) we'll always save your site, also on a cheap/shared hosting. Danny
    1 point
  19. Modules->positions ou base de données: ps_hook
    1 point
  20. La 2.3.5 est disponible depuis quelques heures sur github https://github.com/202-ecommerce/stripe_official/releases
    1 point
  21. Hello @husein522 I have check this table on a Prestashop version 1.6.1.25. I have truncated the table (do not drop it!) Check frontoffice: No errors Check backoffice: No errors Looking into Prestashop files we can find this function: if (Module::$_log_modules_perfs) { $time_end = microtime(true); $memory_end = memory_get_usage(true); Db::getInstance()->execute(' INSERT INTO '._DB_PREFIX_.'modules_perfs (session, module, method, time_start, time_end, memory_start, memory_end) VALUES ('.(int)Module::$_log_modules_perfs_session.', "'.pSQL($module_name).'", "__construct", "'.pSQL($time_start).'", "'.pSQL($time_end).'", '.(int)$memory_start.', '.(int)$memory_end.')'); } In the prestashop classes\Hook.php we can find this function: public static function coreCallHook($module, $method, $params) { // Define if we will log modules performances for this session if (Module::$_log_modules_perfs === null) { $modulo = _PS_DEBUG_PROFILING_ ? 1 : Configuration::get('PS_log_modules_perfs_MODULO'); Module::$_log_modules_perfs = ($modulo && mt_rand(0, $modulo - 1) == 0); if (Module::$_log_modules_perfs) { Module::$_log_modules_perfs_session = mt_rand(); } } // Immediately return the result if we do not log performances if (!Module::$_log_modules_perfs) { return $module->{$method}($params); } // Store time and memory before and after hook call and save the result in the database $time_start = microtime(true); $memory_start = memory_get_usage(true); // Call hook $r = $module->{$method}($params); $time_end = microtime(true); $memory_end = memory_get_usage(true); Db::getInstance()->execute(' INSERT INTO '._DB_PREFIX_.'modules_perfs (session, module, method, time_start, time_end, memory_start, memory_end) VALUES ('.(int)Module::$_log_modules_perfs_session.', "'.pSQL($module->name).'", "'.pSQL($method).'", "'.pSQL($time_start).'", "'.pSQL($time_end).'", '.(int)$memory_start.', '.(int)$memory_end.')'); return $r; } So i am guessing its an logging system for the prestashop hooks, as long you don't drop the table you should be fine. WARNING: make sure to make a backup just in case... In Prestashop 1.7 the table ps_modules_perfs does not exist anymore.
    1 point
  22. Aucune table n'est limitée dans Prestashop, après ce sont les limites de votre serveur mais il faudrait dépasser le milliard de groupes^^
    1 point
  23. Pues nos viene genial la verdad. Lo comento con mi cliente pero vamos, casi seguro lo usaremos 😄
    1 point
  24. voici, attention dans le webpack de mon theme je n installe pas jquery, j appelle la derniere version que pour certaine page (ex: order), cdt public function setMedia() { parent::setMedia(); $page = $this->context->controller->php_self; //$this->unregisterJavascript('corejs'); $this->unregisterJavascript('jquery-ui'); $this->unregisterJavascript('jquery-fancybox'); $this->unregisterStylesheet('jquery-ui'); $this->registerJavascript('baba_starter-classic', '/assets/js/app.js' , ['position' => 'bottom', 'priority' => 1]); // COVERAGE // if ($page == "index") { //$this->registerJavascript('baba_starter-list', '/assets/js/list.js', ['position' => 'bottom', 'priority' => 99]); if ($this->context->isMobile() == true) { $this->unregisterStylesheet('theme-main'); $this->registerStylesheet('mobile-index', '/assets/css/mobile-index.css', ['media' => 'all', 'priority' => 50]); } else { $this->unregisterStylesheet('theme-main'); $this->unregisterStylesheet('mobile-index'); $this->registerStylesheet('desktop-index', '/assets/css/desktop-index.css', ['media' => 'all', 'priority' => 50]); } } else { $this->registerStylesheet('theme-main', '/assets/css/theme.css', ['media' => 'all', 'priority' => 50]); } //$this->registerJavascript('baba_starter-lazysizes', '/assets/js/lazysizes.min.js', ['position' => 'bottom', 'priority' => 3]); if ($page == "order") { $this->registerJavascript('baba_starter-jquery', '/assets/js/jquery-3.6.0.min.js', ['position' => 'bottom', 'priority' => 1]); $this->registerJavascript('baba_starter-classic', '/assets/js/theme-classic.js', ['position' => 'bottom', 'priority' => 2]); $this->registerJavascript('baba_starter-classic-jqueryUi', '/assets/js/jquery-ui.min.js' , ['position' => 'bottom', 'priority' => 3]); //$this->registerJavascript('baba_starter-jquery', '/assets/js/jquery-3.6.0.min.js', ['position' => 'bottom', 'priority' => 1]); //$this->registerJavascript('baba_starter-jquery-ui', '/assets/js/jquery-ui.min.js', ['position' => 'bottom', 'priority' => 2]); //$this->registerJavascript('baba_starter-bootjs', '/assets/js/bootstrap.4.5.3.min.js', ['position' => 'bottom', 'priority' => 3]); } // Execute Hook FrontController SetMedia Hook::exec('actionFrontControllerSetMedia', []); return true; }
    1 point
  25. If it could be useful to someone by modifying the second part of the code (I highlighted in bold what I changed) I was able to solve the problem of the word "Available Available" (twice) under the product: {block name='product_availability'} <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.availability == 'available'} <i class="material-icons rtl-no-flip product-available">&#xE5CA;</i> {$product.availability_message} {elseif $product.availability == 'last_remaining_items'} <i class="material-icons product-last-items">&#xE002;</i> {$product.availability_message} {else} {if !$in_cart} <i class="material-icons product-unavailable">&#xE14B;</i> {$product.availability_message} {/if} {/if} {if !$in_cart} {$product.availability_message} {/if} {/if} </span> {/block} Greetings, Fabrizio.
    1 point
  26. I uploaded .rar via SFTP directly and unzip via terminal. Now trying copy files via ftp without compressing.
    1 point
  27. Best way in my opinion is module to export products do xml. For my clients, we're using Google Merchant Center module, that we're also using for Facebook store. All products from prestashop are send to GMC and Facebook with Cron job.
    1 point
  28. Si avevo immaginato il problema. E' che non userei una beta. Già la 1.7 è tutta una beta/ibrido, rischiare così porta solo ad altri guai. Vedi se facendo un minor upgrade riesci a metterla sta 1.7.8 (se sta nel canale beta del modulo 1clickupgrade). Tieni php 7.2 e poi lo alzi a 7.4 quando tutto è a posto. Data di uscita non saprei. Così a spanne direi tranquillamente entro fine anno inizio 2022. Ma sto sparando a caso... 🙄😅 Danny
    1 point
  29. Muchas gracias por el módulo y muy buena idea, en cuanto pueda lo pruebo y comento.
    1 point
  30. UF, me ha pillado, ni idea de código La puse la primera en opciones y la declare en el modulo de SEO, pero pasa lo mismo con la URL amigable, no salen acentos y otros símbolos y la "ñ" es uno de ellos, no puedes poner por ejemplo castañas. y mucho menos año 🙃
    1 point
  31. @Crezzur You tutorial is nice. Is their any way without modify the core PrestaShop template file. by overwriting? When any one modify the file it will lost when new update comes. Just to know Thank you for your good article
    1 point
  32. Vous pouvez vous pencher mais il serait préférable de contacter son auteur car si le souci vient du code (oubli de forcer le port à 0 pour les futures commandes) vous ne le verrez pas comme ça si c'est un souci de code
    1 point
  33. Livraison en Point Relais : Gratuite en France métropolitaine uniquement (hors DOM TOM). Livraison en Point Relais offerte pour toute commande sans minimum de commande. Hum si le minimum de commande est à 10 € *Nous ne livrons pas la Corse. c'est très discriminatoire quand même Vous disposez de 30 jours pour nous retourner un article. hum 14 ou 30 ? 14 c'est la loi 30 c'est un peu long À compter de la réception de votre commande vous disposez d’un délai de 14 jours pour vous rétracter et annuler la totalité de votre commande. hum 14 ou 30 ? 14 c'est la loi 30 c'est un peu long Les frais de livraison ne vous seront pas remboursés. Si si il faut les rembourser c'est la loi Les frais de retour seront à votre charge. 123 Baby'Boom 27 T rue des Jardins 60 620 BETZ J'allais au collège la bas pour bébé dont la fabrication est EU (Italie, Espagne ou Angleterre). brexit après dans les mentions légales il n'est pas noté si vous êtes en franchise de tva alors que dans le panier c'est noté ht si vous ne facturez pas de tva cela doit etre précisé art 293b du cgi bla bla bla voila voilou autrement le design est joli
    1 point
  34. en la base de datos. Tabla ps_translations Suerte
    1 point
  35. Solucionado hosting recompilo y ahora si puedo subir modulos.
    1 point
  36. Kindly add this file and test again, Thanks theme.css
    1 point
  37. Then just change it in your database: SELECT * FROM `ps_order_state_lang`
    1 point
  38. colorchange.zipIt is a module that allows you to modify the color of your PrestaShop 1.7 template from the back office, without modifying the source files. does not matter if you do not have design knowledge, you should only select the colors of the sections (buttons, links, header, etc) and the module will do the rest for you. Now you can select the fonts from Google Fonts. Features: Cross browser Multilingual Multistore Video: Visit our site to get more Free modules/themes www.catalogo-onlinersi.net v2.0-added background images, social link colors and auto clear cache v2.1-added option to disable background image v2.2-solved issue on footer links for social networks v3.1-solves installation issues and added default font v3.3-added h1/h4 colors and paragraph, and auto clear cache colorchange.zip colorchange.zip v1.0 colorchange.zip v2.0 colorchange.zip v2.1 colorchange.zip v2.2 colorchange.zip v3.0 colorchange.zip v3.1 colorchange.zip v3.3 colorchange.zip v 3.5 colorchange.zip v3.6
    1 point
  39. The Prestashop Custom Number Pro allows you to custom invoice number, delivery number, and order reference number. It will help you to control the numbers to compatible with your accounting. What does the module do for you? Custom Invoice Number in Prestashop Custom Delivery Number in Prestashop Custom Order Number, Order Reference in Prestashop As a shop owner, You are easy to custom invoice number, order number to compatible with your accounting. In another hand, you and your customer will get friendly invoice number like: INV-001-17 or INV-201/17 By using Prestashop Custom Number Pro, It also doesn’t allow your customer and competitor to know volume of your orders. The Custom Number Pro Module supports various settings for each type of document (invoice, order, delivery slip), such as a starting value, a step, a reset when a value or a date is reached. You can, for instance, reset your invoices each year (January 1st) or each month. One more, If you have multi-customer groups on your website and you would like different number (invoice number, delivery ship number, order number) for a different customer group. So the module is best to choose for you. This is UNIQUE FEATURE that hasn’t yet included in other similar modules. By the feature, the invoice number of customer groups A may be different from the invoice number of customer group B. FEATURES Supports multi-shop Custom number by customer group. You can set number format for a customer group. Customize easily your invoices numbers, order reference, delivery slips numbers. Define the format you want to use by combining letters, numbers, symbols and variable – tags (which will be replaced automatically). Configure the counter associated with each type of document (order, invoice, delivery slip) by defining: a starting value, a step, a length. The counter can be reset when a value or a date is reached (for example January 1st, every year, every month, equal 1000…). AVAILABLE VARIABLES Module supports various variables, which will be replaced automatically & help you to custom number: {COUNTER} : Current counter by rule. {DD} : Date add (01->31)} {D} : Date add without leading zeros (1->31)} {MM} : Month add (01->12)} {M} : Month add without leading zeros (1->12)} {YY} : Year add 4 digits (e.g. : 2017)} {Y} : Year add 2 digits (e.g. : 17)} {ID_CUSTOMER} : Customer Id. {ID_GROUP} : Customer Id Group. {GROUP} : Customer Group Name (e.g. : GUEST , CUSTOMER …) {ID_ORDER} : Order Id. {ORDER_REFERENCE} : Order Reference (Only use for INVOICE and DELIVERY number)). {ID_INVOICE} : Invoice Id. {RANDOM} : Random text (e.g. : KLWXNYSXH). {RANDOM_NUMBER} : Random number (0->999999)(e.g. : 104516). SOME EXAMPLE Example 1: Your Invoice Number Format: INV-{ID_ORDER}/{YY} The invoices numbers will take the following aspect: INV-20/2017, INV-21/2017, INV-22/2017 Example 2: Your Invoice Number Format: INV-{COUNTER}/{Y} The counter starts at 100 with a step of 10 The invoice numbers will take the following aspect: INV-100/17, INV-110/17, INV-120/17 Example 3: Your Invoice Number Format for Retail customer group: PRI-{COUNTER}/{Y} Your Invoice Number Format for Wholesale customer group: COM-{COUNTER}/{Y} The counter starts at 100 with a step of 10 The invoice numbers for “retail” group will take the following aspect: PRI-100/17, PRI-110/17, PRI-120/17 The invoice numbers for “Wholesale” group will take the following aspect: COM-100/17, COM-110/17, COM-120/17 NOTE: Counter of the Retail group is not like the Wholesale group. E.g You can set counter of Retail group start at 100 and Wholesale start at 10. Screenshots: https://globosoftware.net/product/custom-invoice-number-order-reference/ Current Version: v1.1.2 Compatable with Prestashop: 1.6.x, 17.x Demo: https://demo.globosoftware.net/ps1710/admin12/index.php user: demo@demo.com pass: demodemo DOWNLOAD v1.1.2: g_customnumberpro.zip DOWNLOAD v1.1.1: g_customnumberpro.zip Buy premium version: If you also need both custom number and custom Invoice template. Please purchase premium version of the module: https://addons.prestashop.com/en/accounting-invoicing/21817-pdf-invoice-template-delivery-custom-number.html
    1 point
  40. Allow customer magnify product images when hover on desktop or tap on mobile phone on every pages. Perfect Work On Mobile, Tablet and any Browser Merchant Benefit Improve conversions on your Prestashop Store Zoom product images with a nice effect on your store Making a product display clean, crystal, nice Main Features Zoom Product Images on Product Detail, Quickview (Optional) Zoom Product Images on multiple pages as: Category, Search, Special, Best Seller, New Products page., Best Seller Block, New Products Block, Popular Block Fully responsive image zoomer, Work for Mobile, Tablet and smaller devices Separate Zoom Effect on Mobile or Desktop Include 5 effects on Desktop: Lens, Lens Square, Box Zoom Left, Box Zoom Right, Sniper Zoom; 3 effects on Mobile/Tablet: Lens, Lens Square, Sniper Zoom Multiple types of zoom Multiple languages, multiple store Simple Setting, Easy Use: Just Install, enable/disable options from Backoffice for using, without writing a single line of code. Separate settings for mobile devices Improved responsive design to naturally fit your page better than ever. Faster loading and image rendering give the best performance yet. Full customize for your styles, your prestashop store Some Screenshot for Preview Frontend Some Screenshot for Preview Backoffice Customer Benefit Magnify images to judge the fabric, material quality, make and manufacture of the product. Zoom Magnifier Effect help customer aware of what they are about to receive. Download: Free Download Link: Download If you have any questions, we are ready to work for help you Change log Released version 1.0.11 - fix zoomfixs.js for choose combination, for multiple themes Released version 1.0.12 - fix zoomfixs.js for open modal when click, change document.ready to window.load Released version 1.0.13 - compatible to Prestashop 1.7.7+
    1 point
  41. Bonjour, je relance cette discussion qui me parait interessante pour ceux qui ont besoin de gérer leur back office via un téléphone.... J'ai testé quelques app mais aucune ne permet une vrais gestion du back, a part voir ses ventes... Donc inutiles ! Faut il vraiment modifier le code de presta pour y arriver ?
    1 point
  42. Hello, After investigate many things. i found that if we hook it in hookDisplayProductPriceBlock then it show multiple times. we need to add some kind of condition to limit it. It show after before price one time. if ( $hookName == 'displayProductPriceBlock' && $params['type'] != 'before_price') { return false; } I suggest you to use this in new hook displayProductListReviews then you are able to use this nicely, It used same way how review show. Normally the possition it using css. I have put the css with template for you. Bellow is screen shot how it will show after we do this. https://pscreenshot.com/i/APaS18 <style type="text/css"> .product-list-wishlist { border: 1px solid red; position: absolute; top: -26px; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; width: 100%; background: rgba(255, 255, 255, 0.5); padding: 4px 0; } </style> <div class="product-list-wishlist"> <form action='../modules/wishlist/addtowishlist.php' method='POST'> <input type='text' value='' style='display:none'> <button type='submit'>&#128420;</button> </form> </div> Hope your issue will sovled. Thank you Classy Devs Team
    1 point
  43. Désactiver les modules dans le back office ne suffit pas, le plus simple et efficace est de renommer le dossier contenant le module sur le ftp pour éviter qu’il ne soit charger par PrestaShop Il y a un module qui pose problème, renommer le dossier de tous les modules qui ne sont pas natifs, si cela refonctionne il suffit de le renommer les dossiers correctement un par un pour essayer de trouver le fautif. Concernant l’erreur sur votre FO, ça peut venir du thème ou d’un module.
    1 point
  44. 1 point
  45. Hola a todos. Llegué hasta este hilo buscando una solución al mismo problema y me apena que luego de tanto tiempo no se haya registrado una solución. Sin embargo, como ya la encontré en otros sitios web en inglés, no quiero simplemente dar la espalda y dejar este hilo sin dejar al menos los enlaces que utilicé para dar con la solución. Antes que todo, quiero igualmente aclarar que el mensaje de error de Token no válido mencionado por Julian y que dio motivo para abrir este hilo, también me estaba ocurriendo a mí reiteradamente e intuyo fue originado (en mi caso) por 2 errores que estaba generando mi tienda PrestaShop 1.7. Para llegar conocer con mayor detalle el tipo de error, puse en modo debug mi tienda encontrando un tipo de error como este: Uncaught Exception: Unable to generate a URL for the named route "admin_link_block_list" as such route does not exist Para solucionar esto, como lo sugirió el sitio de la solución, eliminé el contenido de la carpeta "cache" que se encuentra en la siguiente ruta entrando por cPanel: ...[carpetadeinstalacióndetienda]/var/cache Además, en el archivo [sutienda].php.error.log que se encuentra dentro de la carpeta home/logs entrando mediante cPanel, encontré este error que se me repetía en varias líneas: PHP Fatal error: Allowed memory size of 33554432 bytes exhausted Por lo que empecé a buscar soluciones, y en el otro sitio donde encontré la solución, se resolvió incrementando el memory_limit de 32M a 512M en el archivo php.ini (ni siquiera a 1024M o 1G como lo sugería el post de la solución. Y fue suficiente). Ya no me ha aparecido ningún error ni el mensaje del Token no válido (hasta ahora). Les dejo los enlaces que leí antes de tomar acción para solucionar ambos errores: - https://www.prestashop.com/forums/topic/949869-uncaught-exception-unable-to-generate-a-url-for-the-named-route-admin_link_block_list-as-such-route-does-not-exist/ - https://www.airpair.com/php/fatal-error-allowed-memory-size Disculpen si este texto no está bien estructurado y no se entienda bien, en todo caso creo que servirá a aquellos que lleguen a este hilo sin aún tener la solución a este tipo de errores. Saludos.
    1 point
  46. Καλησπέρα. Έκανα πρόσφατα αναβάθμιση σε ένα eshop από 1.5.5.0 σε 1.7.5.0 και ενώ σαν λειτουργίες η έκδοση 1.7.5.0 είναι αρκετά πλούσια, έχει και κάποια πράγματα που τα θεωρώ αρνητικά. Θα αναφέρω αυτά που ανακάλυψα (και αν θέλει κάποιος μπορεί να προσθέσει ότι δεν έχω δει ακόμα εγώ) ώστε όποιος είναι "ανυποψίαστος" να βοηθηθεί και να έχει καλύτερη εικόνα σχετικά με τα νέα χαρακτηριστικά. 1) (Ισχύει αν χρησιμοποιείτε τα χαρακτηριστικά σαν φίλτρα) Στα χαρακτηριστικά δεν υπάρχει επιλογή ώστε να βάζεις εσύ το url που θες (και φτιάχνει μόνο του από το όνομα του χαρακτηριστικού), αυτό έχει σαν παρενέργεια α) Στο url να προσθέτει ελληνικούς χαρακτήρες αν το χαρακτηριστικό σου είναι γραμμένο στα ελληνικά.. β) Όταν θέλεις να χρησιμοποιήσεις αυτό το url κάπου ξέρουμε όλοι πως γίνεται λόγω των ελληνικών χαρακτήρων... γ) Αν πας και αλλάξεις το όνομα του χαρακτηριστικού πχ από "τύπος" σε "επιλογή" όλα τα url (που εμπλέκονται με αυτό) θα αλλάξουν, με αποτέλεσμα αν χρησιμοποιήσεις αυτά τα url σε διαφημίσεις στην google (γονική διαφήμιση είτε σε site link) να μην δουλεύουν πλέον. 2) Όταν κάνεις μια επιλογή στα φίλτρα εκτός του ότι αναφέρει την επιλογή σου (κόκκινο) γράφει και το γονικό όνομα του φίλτρου πχ αν κάποιος είχε γονικό όνομα "επιλέξτε μέγεθος", τώρα θα βγει ένα tag τύπου "επιλέξτε χρώμα: κόκκινο" και δεν είναι τόσο ωραίο (κατά την γνώμη μου, αλλά σε αυτό ίσως να υπάρχει και αντίλογος). 3) Όταν επιλέγεις σε κάποιο προϊόν να μην φαίνεται διαθέσιμο για αγορά (δεν εννοώ να είναι απενεργοποιημένο), συνεχίζει να φαίνεται το κουμπί της προσθήκης στο καλάθι. Κάνω μια μικρή στάση εδώ να συνεχίσω το projec και θα επανέλθω..
    1 point
  47. Bonjour, Je ne vous le conseil pas du tout mais [...] vous avez la possibilité grâce à Smarty ! {php}echo 'Hello world!';{/php}
    1 point
×
×
  • Create New...

Important Information

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