Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 07/31/2020 in Posts

  1. Opracowałem sobie prosty moduł, dodający do sklepu możliwość wyboru paczkomatu zgodnie ze specyfikacją Geowidget v4. Moduł po instalacji tworzy nowego przewoźnika, którego trzeba skonfigurować i aktywować (uwaga! nie kasować go bo będzie trzeba przeinstalować moduł). Następnie w procesie zamówienia przy tym przewoźniku pojawia się możliwość wyboru paczkomatu, który potem jest widoczny na karcie zamówienia w sekcji Wysyłka. Moduł na sklepie demo Zapraszam do testowania i zgłaszania uwag! Moduł dla wersji 1.7. Aby pobrać moduł trzeba być zalogowanym na forum, najlepiej pobrać zawsze wersję najnowszą. gmparcellocker_1_0_0.zip Aktualizacja - wersja 1.1.0 Dwie nowe funkcje: dostępna zmienna {gmparcellocker}, którą można wykorzystać w szablonach maili order_conf i new_order opcja zamiany adresu dostawy na adres paczkomatu - uwaga! aby ta zamiana była widoczna wszędzie, najlepiej żeby moduł był pierwszy podpięty na hooku actionValidateOrder gmparcellocker_1_1_0.zip Aktualizacja - wersja 1.2.0 Integracja z Baselinkerem - aby dane paczkomatu pokazywały się jako punkt odbioru. Przy integracji przez API po instalacji modułu trzeba w ustawieniach klucza API zaznaczyć wszystkie uprawnienia dla zasobu bl_order. Powinna działać również integracja przez plik (z informacji od użytkowników Baselinker uwzględnia moduł przy tym sposobie integracji) gmparcellocker_1_2_0.zip Aktualizacja - wersja 1.2.1 Lekko zmieniony sposób wyświetlania przycisku uruchamiającego mapę, aby umożliwić współpracę modułu z modułem One Page Checkout. Aby to działało konieczne może być włączenie opcji "Włącz kompatybilność z modułami wysyłkowymi" w module OPC. gmparcellocker_1_2_1.zip Aktualizacja - wersja 1.2.2 Dodana poprawka wprowadzona przez autorów modułu SuperCheckout + parę zmian kosmetycznych w kodzie. gmparcellocker_1_2_2.zip Aktualizacja - wersja 1.3.0 Nowa funkcja - możliwość ustawienia sposobu wyświetlania wyboru paczkomatu - okno modal lub lista rozwijana gmparcellocker_1_3_0.zip Aktualizacja - wersja 1.3.1 Dodane zmiany wprowadzone przez autorów jeszcze kolejnego modułu OPC, zmiana w tłumaczeniach na "Paczkomaty 24/7" gmparcellocker_1_3_1.zip Aktualizacja - wersja 1.4.0 Możliwość wyświetlenia informacji o wybranym paczkomacie w dowolnym miejscu w szablonie. Robimy to za pomocą widgetu: {widget name='gmparcellocker'} gmparcellocker_1_4_0.zip Aktualizacja - wersja 1.4.1 Dodane tworzenie drugiego przewoźnika - "Paczkomaty 24/7 w weekend", przewoźnik działa na takiej samej zasadzie jak podstawowy, tylko dla wyboru paczkomatu na mapie (nie jako lista rozwijana) gmparcellocker_1_4_1.zip
    12 points
  2. Export Products Export products generate's a CSV file which will match the Prestashop import functionality. This allows you to quickly make bulk changes to your store with minimal effort. Features Export all products Export by-products by category. CSV delimiter - lets you set the delimiter of the CSV export. Choose to export only active items. Language select. Only export products in your desired language. Multistore Support. Advanced Stock Management Support. Adds a link to your admin menu for ease of use. (You no longer have to dig through the modules page to use this). To use the module after install, navigate to the following: "Advanced Parameters > Export Products" exportproducts-2.7.1.zip I've also released a Pro version of this module which will export product combinations, categories, addresses & customers. You can read more about it here CHANGE LOG UPDATED v2.7.1 (13/07/2020) - Small fixes for 1.7+ prestashop UPDATED v2.7.0 (25/05/2020) - Include new fields for the latest version of PrestaShop. - Fix line endings.
    10 points
  3. Hi, This is for all who likes to add google analytics on their shop. If you are directly configuring 'Google analytics' by the module don't do it because it'll not work properly. You will get all the insights at first and after some time it'll stop giving insights at all. (Personal experience) So What I did is add this code in my header.tpl file in template/_partials but don't forget to add {literal}{/literal} at the starting and closing of the tag else you'll get a blank white page. {literal} <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-134165817-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-*********-*'); </script> {/literal} Hope it helps
    10 points
  4. 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
    9 points
  5. With this module you can replace the old prestashop breadcrumb with the new Schema structure required by Google. Of course if your breadcrumb markup is modified in your theme, you'll also need to adjust the markup of this module in it's tpl file. But usually those are simple changes. To implement this module you need to remove the old breadcrumb div and insert a new hook in your theme's breadcrumb.tpl file (details are displayed after installing the module). gmbreadcrumb_1_0_2.zip Update with a new option allowing you to decide if the last item should be a link: gmbreadcrumb_1_1_0.zip If you want the last item to be linked, you execute the hook like this: {hook h='displayModernBreadCrumb' path=$path linkLast=true} If you don't want the last item to be linked, you execute the hook like this: {hook h='displayModernBreadCrumb' path=$path} (according to Google's specs the last item is not required to be a link) Another update with bug fixes gmbreadcrumb_1_1_1.zip Another update, module not needed, just replace the breadcrumb.tpl file: breadcrumb.tpl
    8 points
  6. Hola a todos! Espero les sirve mi solución que la busqué por cielo y tierra: Vayan al archivo: ExternalContentProvider.php En la Ruta: /modules/ps_mbo/src/ExternalContentProvider/ o src/ExternalContentProvider/ Cambien la línea 33: const TIMEOUT_SECONDS = 0.6; https://github.com/PrestaShopCorp/ps_mbo/blob/b0acf14aa81e092842ed81f95b4b91320f58618d/src/ExternalContentProvider/ExternalContentProvider.php#L33 Por: const TIMEOUT_SECONDS = 20; Espero les sirva. Saludos.
    7 points
  7. I needed a COD with fee module and since I couldn't find what I was looking for (for free), I decided to make one myself. Some features: Compatible with multiple currencies and multiple shops Ability to either integrate the COD fee with the Carrier's fee, or add a dummy product in the order to reflect the fee, with configurable tax. Many parameters to check for in order to apply the fee (cart total, delivery country, delivery zone, carrier, customer group, product categories, manufacturers, suppliers). Many ways to calculate the fee (fixed value, percentage of the cart value or a combination of the two). All parameters are defined in conditions, which each calculates a fee if is validated. You can choose to use the first one that was validated, or add all of the successful ones to define the fee. Ability to test a scenario to see if your condition will produce the desirable fee. Ability to store all the purchases done with this module, with a complete log of how the fee was calculated. Ability to check (or autocheck if configured) for an update. I intend to keep updating it, so please let me know if you have any problems or suggestions. You can find it in github as well if you want to contribute (sakgiok/codwfeeplus). Edit: v1.0.9 added real time cart summary update during checkout for Prestashop v1.7 Edit: v1.0.10 fixed a bug with carriers not listed when they were added by a module. Edit: v1.1.0 added a condition type field to be able to disable module when these conditions are met, plus a bug fix and some color redesign (Control+F5 to reload the page to see the new css). Edit: v1.1.1 Taxes are now displaying correctly in PS1.7 cart summary and in PS 1.6-1.7 invoice and added some helpful buttons in condition parameter editing. Edit: v1.1.2 Order State is available to be configured plus some bug fixing and visual fixes. Some sanity checks added to make sure all condition values are present in Prestashop. Edit v1.1.3 Fixed a serious bug in payment validation. Edit v1.1.4 Fixed some bugs reported here (cart summary in PS1.7, tax displaying, reordering with COD Product etc). Edit v1.1.5 Added compatibility for PS versions 1.6.0.6 and 1.6.1.24. Edit v1.1.6 Fixed a bug for some PS versions < 1.6.1.0 and added provision for PS version 1.7.6.0 Edit v1.1.7 Added "States" field in conditions to validate against the state of the delivery address. Edit v1.1.8 Fixed a bug that prevented the module to work when installed fresh. Download: codwfeeplus_1.1.8.zip GitHub Link: https://github.com/sakgiok/codwfeeplus Demo: https://ps17demo.sakgiok.gr/admin107ak3oho Username: demo@ps17demo.sakgiok.gr Password: demodemo
    6 points
  8. An application that directly posts your Whatsapp number when you talk and click through Whatsapp. Button click open whatsapp your number New Added Features Attached to the desired Hook added Fixed mobile errors Shared with product name brought on product page Add position Left or Right page Product Share Page BUY FULL VERSION WhatsappV4.zip
    6 points
  9. Módulo de ejemplo de uso de CQRS en Prestashop que añade un nuevo filtro de Grupo de Cliente en el listado Solo compatible con versiones recientes de Prestashop 1.7.6, 1.7.7 filtercustomer.zip
    6 points
  10. This module has been reported to the PrestaShop security: it has not been updated for a long time and contains some security issues. For this reason, the zip file has been removed and this disclaimer has been added. The topic will stay available for archival purpose. its been a while since i didnt share a module, well try this one and hopefully you like it. at first i want to put this module as a comercial one, since my submision takes a lot of time to be approved, and after sometimes the prestateam declined this module, then i decided to go as a free modules. And hope that if people like this module then they maybe will donate some to support me.... now you can manipulate your server file and/or folder right from you shop back office. comes with alot of features to made your life easier when you try to manage your shop. edit theme, tweak and/or hack something, even making a new module. with this module you can create new file/folder, upload file, view/edit file, rename/copy/move/delete/backup file or folder and you can change permission of files/folders. some cool features on this module * using onscreen popup to made easier when you manipulate the file. * syntax highlight, line numbering and wordwrap when you go on edit mode. * recrusive copy/move/delete file/folder. * icon for 30 filetypes (.php, .css, .js, .tpl, .html, .htm, .jpg, .jpeg, .gif, .png, .pdf, .swf, .fla, .zip, .rar, .doc, .docx, .xls, .csv, .mdb, .ppt, .sql, .exe, .xml, .avi, .mpg, .mov, .divx, .wav, .mp3) * and many more.... still at early version so any bug and sugestion please share & discuss in here WARNING: this module is a thankyouware so say thank you is a must and send some donation is a hope
    6 points
  11. Hay algunas tiendas que van conectadas a un ERP, o donde los productos se suben o se modifican a través de aplicaciones externos. En estos casos puede ocurrir que se hagan modificaciones en los productos y no se vean reflejadas inmediatamente en la portada de la tienda debido a la caché de Prestashop. Parecido puede ocurrir con algunos módulos que muestran información de fuentes externas (por ejemplo, desde Facebook, Instagram o un blog externo), que a veces pueden actualizar la información y a pesar de eso que siga apareciendo en portada de la tienda la antigua, debido a que está cacheada. Para todos esos casos se puede utilizar este módulo. Solo hay que instalarle, activarle e indicar cada cuánto tiempo se quiere que se borre la caché (por ejemplo, cada hora). Transcurrido ese periodo de tiempo, se efectuará automáticamente un borrado de la caché. También se puede elegir la activación mediante CRON, proporcionando una URL cuya llamada es posible programar en el CRON del servidor con el intervalo que se quiera para efectuar el borrado de la caché. Versión 2.1.0 disponible para Prestashop 1.6 y 1.7: ftm_cacheclear.zip
    6 points
  12. Pour couper court à tout paiement pour un code ici gratuit, la marche à suivre pour le correctif: Editer votre fichier classes/Link.php (avec un éditeur digne de ce nom) Chercher la fonction getBaseLink Ajoutez les 3 lignes suivantes des le début de la fonction: static $force_ssl = null; is_null($force_ssl) && ($force_ssl = (Configuration::get('PS_SSL_ENABLED') && Configuration::get('PS_SSL_ENABLED_EVERYWHERE'))); $force_ssl && ($ssl = $force_ssl); Le code devrait ressembler à la fin à ceci public function getBaseLink($id_shop = null, $ssl = null, $relative_protocol = false) { static $force_ssl = null; is_null($force_ssl) && ($force_ssl = (Configuration::get('PS_SSL_ENABLED') && Configuration::get('PS_SSL_ENABLED_EVERYWHERE'))); $force_ssl && ($ssl = $force_ssl); if (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') && $id_shop !== null) { $shop = new Shop($id_shop); } else { $shop = Context::getContext()->shop; } if ($relative_protocol) { $base = '//'.($ssl && $this->ssl_enable ? $shop->domain_ssl : $shop->domain); } else { $base = (($ssl && $this->ssl_enable) ? 'https://'.$shop->domain_ssl : 'http://'.$shop->domain); } return $base.$shop->getBaseURI(); } Si vous éprouvez des difficultés d'implantation, ne pas hésiter à me contacter par MP, je demanderai seulement une dizaine d'euro pour le faire (10€)
    6 points
  13. This is a free module that adds an additional field to the category form, allowing you to enter additional description. It may be usefull for SEO purposes. For PS 1.6: To use the module you need to install it and then add {hook h='displayCategorySecondDescription'} to category.tpl in a place where you want to display the description, you may also add this hook to some other place, letf column, footer, it should work everywhere as long as you are on a category page. For PS 1.7 Install the module and then add {widget name='gmcatseconddesc'} to templates/catalog/listing/product-list.tpl just before the {else} tag or in any other place that you like. You can also attach this module to any hook, where you would like the description to show. Note: The description won't show for pagination pages, where the ?p parameter is greater that 1. gmcatseconddesc_16.zip gmcatseconddesc_17.zip Updated version with some bug fixes: gmcatseconddesc_17v1_0_5.zip Detailed implementation description: http://greenmousestudio.com/en/cat-desc
    5 points
  14. Current version: 0.0.4 Last update: 19/07/2021 NEW FUNCTION 19/07/2021: PS Cleaner 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. Prestashop minimum requirements myShopRepair has a tool which allows you to check your web-shop configuration in seconds. This way you can see if you have the required PHP version and MYSQLI extension. This tool will also check if you have set your php.ini correctly and give you the required and recommended values. It will also check if you have activated all necessary PHP extensions and check if the required folders have the right writing permissions. Clear cache and reset .htaccess: myShopRepair can delete your cache folder in seconds, this way you can remove your cache without needing to connect to your FTP client. This feature comes in handy when you have lost access to your back-office. You will also have the option to reset your .htaccess file, This could be needed when moving to a new shop or when you have troubles with Friendly URL function. The reset .htaccess function will only reset the lines between the Prestashop comment (# ~~start~~ lines lines lines # ~~end~~). This way it prevents your web-shop losing important settings. Debug Mode With myShopRepair you are able to set your web-shop in debug mode with a button click. This comes in handy when you have lost your back-office accessibility when experiencing an error of any kind. Web-shop to a new domain: myShopRepair will help you when you have moved your web-shop to a new domain and did not change the required fields. Our tool will allow you to change your Shop domain name, SSL domain and Base URI which are required parameters to change when moving to a new domain. Our tool will allow you to make these changes without having to run MYSQL codes your self. Shop Maintenance mode When your web-shop is running in troubles and you have lost access to your back-office you might want to disable your web-shop temporally. myShopRepair gives you the option to enable and disable your web-shop into maintenance mode. You are also able to add or remove an maintenance IP-address. The advantage of the myShopRepair tool is that you do not need to run a SQL query manually to enable or disable your web-shop. SSL Options Using myShopRepair will also give you the opportunity to enable or disable SSL on your web-shop. This comes in handy when switching to SSL failed and you have lost your back-office accessibility. Automatic version checker: myShopRepair tool comes with an automatic version checker. This way you will be informed if you are running a myShopRepair version which is outdated. myShopRepair DEMO: You can view a demo of this file here: https://crezzur.com/demoshop17/myshoprepair.php?crezzur_token=b48a877f50d20963eaa2ccab09651c INSTALLATION GUIDE: The file myshoprepair.php needs to be placed where your prestashop web-shop is installed. for example 'mywebshop.com/myshoprepair.php'. For example my demostore is called https://crezzur.com/demoshop17/ , So i have to upload this file to https://crezzur.com/demoshop17/myshoprepair.php?crezzur_token=b48a877f50d20963eaa2ccab09651c File upload location: /mywebshop/ --- /Adapter/ --- /app/ --- /bin/ --- ... ------ /.htaccess ------ /autoload.php ------ /myshoprepair.php <-- Place our tool in your web-shop root ------ ... DOWNLOAD SECTION: Version 0.0.4: myshoprepair.php Version 0.0.3: myshoprepair.php Version 0.0.2: myshoprepair.php Version 0.0.1: myshoprepair.php GITHUB: https://github.com/crezzur/myshoprepair CHANGE LOG: Version 0.0.4 - Release 19/07/2021 - Added database cleaner function in tab PS Cleaner Version 0.0.3 - Release 12/07/2021 - Added checker for PHP setting allow_url_fopen, which is required for a smooth back-office. - Added token security to prevent unauthorized access to the myshoprepair file. Version 0.0.2 - Release 03/10/2020 - Added option to enable and disable debug mode with a button click using myShopRepair tool. - Update to an improved messaging system. Version 0.0.1 - Release 01/10/2020
    5 points
  15. Product Review Module - Revws - This free module allows your customer to create product reviews. Easily. The main goal of this module is to make both review authoring and moderation process as smooth as possible. I have worked very closely with real-world merchants to make sure this module offers just the right features that you guys need. TAKE A TEST DRIVE You can try this module on my demo account Front Office / Back Office SCREENSHOTS Revws at glance ` FEATURES What can this module do for you? review import - you can easily import your reviews productcomments or yotpo. Or use my datakick module to import from any other source compatible with with prestashop 1.6 and 1.7 versions both customer and guest reviews review moderation by administrator multiple review criteria theming options - you don’t have to use standard star symbol anymore google structured data / rich snippets support customers can edit / delete their reviews voting and report abuse buttons review suggestions based on recent purchase comprehensive settings - you can tweak almost anything and much more INTEGRATIONS Revws module can seamlessly cooperate with other modules. DataKick data import / export / modification module - using my paid module, you can easily list your reviews, export or even import them. You can schedule periodic backup of your review data. You can use it to prepare list of customers who has recently purchased some product and send them a review request Loyalty Points - Genzo Krona module* - revws module is integrated with this amazing loyalty points free module. You can then set up your own rewards strategy. Send Review Request module* - you can use this free module to ask your customer for reviews. Remember, if you don't ask for it, you don't get it * due to rules on this forum, I'm not allowed to link to these modules. Use goole BUGS AND FEATURE REQUESTS If you find any bug or issue, of if you would like to see some new functionality in the module, please file an issue on github. Otherwise I might forget about it Report problem / suggest enhancement DOWNLOAD You can download latest version of this free module here version for prestashop 1.7 version for prestashop 1.6
    5 points
  16. 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
  17. Hace unos días me contactó un cliente que empezaba a tener problemas de spam y registros diarios de usuarios "fantasmas" en su Prestashop, con datos falsos (bots). Lo primero que se me ocurrió fue buscar un módulo para integrar el recaptcha de Google en los formularios. Encontré uno gratuito, el eicaptcha, pero es para la versión v2, que obliga al usuario a tener que escribir un código o resolver un pequeño puzzle para pasar la verificación. La versión 3 en cambio, pasa desapercibida y normalmente no requiere intervención del usuario, por lo que resulta mucho menos "disuasoria" para el usuario legítimo que quiere enviar un mensaje o registrarse como cliente en la web. Por tanto, intenté localizar algo para la versión 3 del Recaptcha de Google, pero lo único que encontré fue un par de módulos comerciales, uno incluso se anunciaba como "con inteligencia artificial" y pedían 50 euros por él. Veo lógico que la gente quiera cobrar por su trabajo, pero me parece mucha cara "vender" algo con el reclamo de "inteligencia artificial", cuando esa inteligencia no la has programado tú, sino que estás usando un servicio de Google y tu módulo lo único que hace es integrarlo dentro de los formularios de Prestashop para que funcione, a un precio a mi juicio excesivo para lo que hace (modificar un par de formularios y realizar la verificación de un campo que además te da Google el resultado). De modo que le eché un vistazo a ver cómo funcionaba la integración (esta página me aclaró mucho las cosas), y me puse y en un par de horitas (o más bien 4 ó 5, porque cambié varias veces de opinión sobre los hooks a utilizar) tenía un módulo funcionando. Lo dejo aquí para quien lo necesite. Antes de usarlo, algunas consideraciones: El módulo lo he creado como he explicado, lo he probado en 2 instalaciones de Prestashop y en principio funciona sin problemas, lo adjunto aquí para quien lo quiera, pero es software gratis y "as-is", es decir, no ofrezco garantías de que vaya a funcionar en todos los casos, ni me hago responsable si no funciona como debería. En el caso de que lo instales, tú eres el responsable de comprobar que los formularios siguen funcionando de forma adecuada. Si no es así, con desactivarlo o desinstalarlo todo volverá a estar como antes. El módulo es para la versión 1.7.1 de Prestashop o superior. No funciona con versiones anteriores porque algunos de los "hooks" que utiliza creo que solo están presentes desde la versión 1.7.1. El módulo permite activar el recaptcha de forma general, y luego de forma particular en el formulario de registro, en de contacto y en el de suscripción a la newsletter, por separado. Si se activa en el formulario de registro, también se activará para el registro que se puede hacer directamente en el checkout y para la compra como invitado (esto es algo que está hecho así de forma intencionada, porque por ahí también te pueden colar registros "fantasmas"). No lo he probado en instalaciones que no usen el checkout estándar de Prestashop y lleven algún módulo de "compra en un paso", y no sé si opera correctamente con ellas o no. En principio, debido a la forma que tiene de funcionar no debería dar problemas, pero como no he hecho ninguna prueba, no puedo asegurarlo. Para que el módulo funcione necesitas, lógicamente, dos claves del recaptcha v3 de Google, la clave del sitio y la clave secreta. Esas claves las tienes que generar con tu cuenta de Google desde aquí: https://www.google.com/recaptcha/admin/create Para que funcione en el formulario de contacto debe estar actualizada la template de ese formulario para que incluya el hook del GDPR (ley de protección de datos). Las versiones recientes del módulo de contacto lo incluyen todas, pero hay temas que tienen hecho overrides de esa plantilla y no están actualizadas con ese hook. Lamentablemente, la template del módulo de contacto es el único hook que incluye, por lo que hay que utilizar ése. Cualquier problema que tengáis con él podéis ponerlo aquí e intentaremos solucionarlo. Versión 1.1 disponible: ftm_recaptchav3.zip
    5 points
  18. Merhaba, Bugün İlginizi Çekeceğini Ve Kullanacağınızı Düşündüğüm FontAwesome İnclude Etmeyi Göstericem. Hangi Tema Olursa Olsun, head.tpl Dosyamız Olmak Zorunda. ADIM 1 : Sunucumuzda head.tpl Dosyamızı Bulalım ; /public_html/themes/TEMA_ADINIZ/templates/_partials/head.tpl ADIM 2 : head.tpl Dosyamızda, Müsait Bir Yere Şu Kodu Ekleyelim ; <!-- Font Awesome Embed Kodu --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" /> ADIM 3 Ve Son : Sitemize Gelelim Ve CTRL+F5 Yapalım. MacOS Kullanıcıları İçin Command+R. İyi Forumlar.
    5 points
  19. Hi Everyone here is a workaround 1.- Find the table prefix_carrier -> take note of the field id_reference of all your active carriers 2.- Find the tables prefix_module -> take note of the field id_module of all your active payment module 3.- Find the table prefix_module_carrier -> you will see that there are missing entries for your carrier id_reference with the payment id_module associated, create the missing one the row id_module is the id of the payment module that you have active the row id_reference is the id of the carrier that you want thar payment to be available. Still do not know what is causing these records to disappear but this solves the issue, have a good day :)
    5 points
  20. HI guys I've had the same problem. It seems to be due to a wrong cache. Solved in this way: 1) Clear the cache using the appropriate command in Advanced parameters> Performance 2) enable debugging (Advanced parameters> Performance) 3) Reload or open the Modules section (Modules> Module Manager) 4) Clear the contents of the / var / cache / folder IMPORTANT: you must delete both / dev and / prod folders 5) Remove the debug mode That's all. Go back to the Modules section and try to deactivate or uninstall a module, it should work. Note: sometimes enabling the debug mode we may receive an error page with the list of exceptions. This makes it impossible to see the back office. In this case it is necessary to edit manually the configuration file al line 29: /config/defines.inc.php From: define('_PS_MODE_DEV_', true); to: define('_PS_MODE_DEV_', false); Tested on Prestashop 1.7.6.4
    5 points
  21. fyi if you have this issues. try this (to regenerate the .htaccess file) PS.16 preferences-->seo & urls-->scroll down-->disable friendly url, if already disableD then enable---->click save now return friendly url to enabled/disabled that you were using-->click save PS.17 Shop Parms-->seo & urls-->scroll down-->disable friendly url, if already disableD then enable---->click save now return friendly url to enabled/disabled that you were using-->click save go to website and hit F5
    5 points
  22. 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
    4 points
  23. Custom popup notification by PrestaCraft Current module version: 2.4.0 PrestaShop compatible: 1.6, 1.7 Last PrestaShop version checked: 1.7.7.0 http://prestacraft.com/custom-popup-notification/ This module displays a popup with Your content on chosen pages. Note: If you run more than one language in Your store, fill the popup content for all languages to save it correctly. Features Cookie system - Module remembers if user has closed the popup. If You don't want to show it again, You can set cookie duration. User will see the popup again after that amount of time. Display options (colors, size, etc.) Popup content for each available language in Your shop Delay option: define how many seconds must pass to show the popup Display your popup wherever you want to – just select any hook(s) Friendly User Interface Multistore support Screenshots: Changelog: http://prestacraft.com/custom-popup-notification/ IF YOU LIKE THIS MODULE, PLEASE DONATE AND SHARE ❤️ Download custompopup_2.4.0.zip
    4 points
  24. Merhaba Arkadaşlar, Bi Proje İçin Yapmış Olduğum Whatsapp Sipariş Kodunu, Sizlerle Paylaşmak İstiyorum. <input type='button' style='background-color:#27ca27;' class='btn btn-primary add-to-cart' onclick="window.location.href='https://api.whatsapp.com/send/?phone=+905531127622&text=Merhaba, Bu Ürünü Sipariş Vermek İstiyorum. İstediğim Ürün : {$product.url} ';" value='Whatsapp Hızlı Sipariş'> </input> Ben Burada onclick Değerini Kullandım, daha sağlıklı ve güzel olacağını düşündüm. öbür türlü iki buton var ve direk sipariş sayfasına atabilir. buton şekli için bootstrap class'larından bir tane kullandım. siz isterseniz bunu değiştirebilirsiniz tabiiki. Sağlıklı Günler Dilerim.
    4 points
  25. En ce moment, on peut contacter directement OVH en faisant le 18
    4 points
  26. After reading a lot of forum topics and GitHub Issues marked as "solved", but solved only for older versions of Prestashop and, mainly, for older versions of the Faceted Search Module, I've found a solution, that works well form me. Since all the queries have been replaced by calls to Search Adapter Objects, I've modified the file: /modules/ps_facetedsearch/src/Product/Search.php at line 147, modifying the source code from this: case 'id_attribute_group': $operationsFilter = []; foreach ($filterValues as $attributeId => $filterValue) { $this->getSearchAdapter()->addOperationsFilter( 'with_attributes_' . $attributeId, [[['id_attribute', $filterValue]]] ); } break; to this: case 'id_attribute_group': $operationsFilter = []; foreach ($filterValues as $attributeId => $filterValue) { $this->getSearchAdapter()->addOperationsFilter( 'with_attributes_' . $attributeId, [[['id_attribute', $filterValue]]] ); } //modded by Antonio to hide Out of Stock combinations $operationsFilter = []; $operationsFilter[] = [ ['quantity', [0], '>'], ]; $this->getSearchAdapter()->addOperationsFilter( self::STOCK_MANAGEMENT_FILTER, $operationsFilter ); break; and finally it works!
    4 points
  27. If it works in debug mode it's a cache issue. Delete /var/cache on the server, it will be regenerated with next page call
    4 points
  28. As below, It's solution. https://www.prestashop.com/forums/topic/1030080-theme-catalog-error/?tab=comments#comment-3259123 You can change 0.6 to 20 at /modules/ps_mbo/src/ExternalContentProvider/ExternalContentProvider.php. It's work for me.
    4 points
  29. Change this line : https://github.com/PrestaShopCorp/ps_mbo/blob/b0acf14aa81e092842ed81f95b4b91320f58618d/src/ExternalContentProvider/ExternalContentProvider.php#L33 replace 0.6 by 20
    4 points
  30. note that it will be a defaut feature in next version of PrestaShop: https://github.com/PrestaShop/PrestaShop/pull/13517
    4 points
  31. Just go to modules manager faceted search -> rebuild price index... Best Regards
    4 points
  32. Also you can change in templates/catalog/_partials/miniatures all links to main product instead of attributes links. Change all <a href="{$product.url}" by <a href="{$product.canonical_url}" Now Google will not see attributes urls.
    4 points
  33. 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
  34. Il faut fermer la porte du frigo
    3 points
  35. This is not a module but a script/program. Follow the installation instructions! Prestools Suite is a suite of user-friendly and powerful tools to mass edit your products, orders and categories. It has also many other functions. It runs outside the Prestashops backoffice so that it won't be affected by bugs in your shop and can be extra fast. The main parts are: product-edit: great options for mass editing more than 50 product fields. Add categories, change prices, update descriptions - for hundreds of products at once. Also great search options and the possibility to export as csv. product-sort: an easy way to sort products inside a category. From position 500 to 1 in a blink. With the visual sort option you can see immediately how things will look. order-edit: adding and deleting products and changing prices without problems. order-search: make a selection on carrier, payment type, status, etc. or just search. With csv export option. category-edit: useful for editing metadata and descriptions for SEO combi-edit: assign pictures to your combinations quickly combi-copy and combi-delete: copy, modify and delete attribute combinations using one product as a template regenerate images for selections of products. Get better quality with Imagic when installed. cleanup images: save on disk space by cleaning up images of deleted products cleanup: make your shop quick and lean shop rescue: turn off overrides and non-Prestashop modules when due to some bug you can no longer login in the backoffce. attribute-list and feature-list: see how many products use each feature and attribute and get a product list. prodcombi: see and modify the attributes of many products eu-tax: get a quick overview how much you sold in each of the EU countries and how much VAT you withheld in the process override-list and module-list: get lists of modules and of overrides and the modules might own them. integrity checks: find and fix database and file corruption. empty the cache: useful when a bug locks you out of the backoffice and a lot of statistics. Installation: Unzip the downloaded file and copy the resulting files to a subdirectory below your admin directory (do not install as a PS module!). Edit Settings1.php. Put in your own username, password and for extra protection IP address. You can access the program's login screen in the browser like "www.myshop.com/myadmin/mydir/login1.php". Both the main software and the paid plugins are regularly updated. Make sure that you always download them simultaneously as otherwise mismatches may cause problems. The default username is "demo@demo.com" and the default password is "opensecret". Use of product-edit: At the top of the page is the search block: there are many options to select the products you want to edit. Press the search button to execute. The default is hundred products sorted by product id. Next you make a field editable by clicking in the Hide-Show-Edit block. You will see that for all the hundred products this field will become an input field You can edit the fields one by one. You can also use mass edit to edit them all at once. Once you are finished you press the Submit All button. Only then are the changes implemented in the database. Alternatively you can use the RowSubmit button at the end of each line. There is a demo-installation available. Username and password are the default. Below you find a view of the product-edit page where the description field has been made editable: Prestools is compatible with Prestashop 1.5, 1.6 and 1.7 and Thirty Bees. An old version for Prestashop 1.4 can be found here. For product-edit there are a few parts that are standard in demo mode. You can buy plugins at the Prestools website to use them. However, over 95% of the script is free. Among the files you will find a file prestoolssuite-module.zip. You can install this file as a module. It is a mini-module that adds a link to your Prestools installation in the Catalog menu of the backoffice. Prestools is regularly updated (on average once every two weeks). If you find a problem, please update Prestools to the latest version before you report it here. When reporting, please mention your Prestashop version. Bug reports and other suggestions for improvement are always welcome. Among the downloads you will find a manual. There is also an introduction video on Youtube (or here) to get started. It is very old but it gives you a short overview of the most used parts of the most used tool: product-edit. If you bought paid plugins and you download a newer version of the free software you should always also download the latest version of the paid plugins too. You can do that in your account. Prestools is regularly updated. Update regularly to get the newest features. Follow the installation instructions! This is not a module!
    3 points
  36. If you are looking for free module to create top horizontal menu in shop with "drop down" for each menu item as i show on the screenshots below - this is the right choice. Addon is absolutely free, there is no hidden fees etc. Just download, install and use it in your e-commerce website based on PrestShop in version 1.7.x or 1.6.x. This module is an alternative for prestashop's default ps_mainmenu "main menu" (for ps 1.7) and blocktopmenu "top horizontal menu" (for ps 1.6). Download links are available at the bottom of this topic, below the screenshots. blocktopdropdownmenu16.zip - package for prestashop 1.6.x releases blocktopdropdownmenu17.zip - pacakge for prestashop 1.7.x releases blocktopdropdownmenu16.zip blocktopdropdownmenu17.zip
    3 points
  37. Hooks are one of the main lifelines of PrestaShop. Developer, freelancers or even for end users everyone need to register, unregister hooks to modules while PrestaShop customization. They need to check if the most necessary hooks for the module is registered or not. Then comes the hard part. You need to select one module, find the hooks manually and then register it one by one. Sometimes the hooks are not shown on the list. 😵 Generate Hooks Lite for PrestaShop makes it easier to manage hooks for modules. 😇😇 The module is attached below the post. Download this amazing module free now generatehookslite.zip The premium version of the module named "Generate Hooks for PrestaShop" is compatible with PrestaShop 1.6. Available on CodeCanyon. Basic Features Register multiple hooks at once Search hooks dynamically Check important hooks for your module with one click 1. You can search modules by name and then search and select hooks single or multiple to register or unregister to that module 2. You can check important hooks for your modules with just one click Download this amazing module now generatehookslite.zip License: You can distribute the module but can not change the code or rename it.
    3 points
  38. Sube y descomprime el zip adjunto a tu directorio "modules" por FTP, es la versión 4.0.0 (la última que existe), sobreescribiendo la carpeta ps_accounts actual (también la puedes borrar antes de descomprimirlo). Después deberías poder entrar sin problemas. Ya nos cuentas. ps_accounts.zip
    3 points
  39. Hello everyone, I am learning creating Prestashop modules and I made this module in my free time. Feel free to use or share it. If you find any bugs or you think you have a good idea how to improve the module you can type it here. Also you can find instructions in attached PDF on how to use the module. Module attaches selected categories as a block in homepage. You can specify which categories you want to show and it shows the first 6 products in the category. For each category block you can specify accent color and upload a custom image. Important! Tested only on version 1.7.6.7 Here are some marketing goodies I made Enjoy! mslt_cblocks.zip instructions.pdf
    3 points
  40. Siguiendo la misma línea de trabajo del módulo de trinkinho para PS 1.5 y 1.6, he adaptado el módulo original que trae PS 1.7.2.4 ps_wirepayment (v2.0.4) y le he copiado el código de trinkinho (bankwire_discount) para que ofrezca también descuentos en 1.7.1 y 1.7.2 como ps_wirepaymentdiscount. La única modificación a su código que he hecho es aplicar el descuento en la validación SOLO a los artículos ANTES de aplicarle los impuestos. Es decir, en vez de aplicar el descuento al total del carro de la compra (Cart::BOTH) lo he aplicado sólo a los artículos sin impuestos ni gastos de envío y/o manipulación (Cart::ONLY_PRODUCTS). Adjunto el módulo. Si te gusta, dame un Like ps_wirepaymentdiscount.zip
    3 points
  41. https://medium.com/@andrea.verlicchi/inset-box-shadow-rendering-bug-on-safari-ios-13-4-6bf4256a1ee0 It's safari bug. Put in custom css in theme editor #cbp-close-mobile, .cbp-spmenu, #iqitmegamenu-accordion.cbp-spmenu li a:hover, #iqitmegamenu-accordion.cbp-spmenu > li ul{ -webkit-box-shadow: none !important; -moz-box-shadow: none !important; box-shadow: none !important; } .cbp-spmenu-push-toright #page{ box-shadow: 0px 6px 30px 0px rgba(8, 0, 0, 0.38); z-index: 5103; position: relative; } .cbp-spmenu-overlay{ z-index: 5104; left: 240px; } Kā bizness, Edža?
    3 points
  42. In PS 1.7 that select field is in a TWIG template here: /src/PrestaShopBundle/Resources/views/Admin/Common/pagination.html.twig You find the code of the select, then you add custom options after the "for" cycle, like this (I added 500 and 1000): <select name="paginator_select_page_limit" id="paginator_select_page_limit" psurl="{{ changeLimitUrl }}" class="pagination-link custom-select"> {% if limit not in limit_choices %} <option value="{{ limit }}" selected="selected">{{ limit }}</option> {% endif %} {% for limit_choice in limit_choices %} <option value="{{ limit_choice }}" {% if limit==limit_choice %}selected="selected"{% endif %}>{{ limit_choice }}</option> {% endfor %} <option value="500">500</option> <option value="1000">1000</option> </select> But this is a dirty hack of the Core file in Prestashop, eventually overridden by a future Prestashop update. The proper way to override TWIG templates is explained in this page: https://devdocs.prestashop.com/1.7/modules/concepts/templating/admin-views/ So, we need to make a module to override the admin views. You are lucky, I made a little module for this, and you can download it here. This is useful to override other admin templates too, you just have to copy the files with the right folder structure inside the "views" folder. overrideviews.zip
    3 points
  43. https://github.com/blauwfruit/orderreference/releases/
    3 points
  44. For some reason front office translation is not shown in the dropdown in Localization menu. So I selected backoffice translation from dropdown, selected my language and clicked go. Once I am on the page, I edited the url in the browser: replace back with front, and hit enter Then I get all the front office translations, including address labels like VAT number, Address complement, etc. I hope this helps someone. All the best.
    3 points
  45. Ok I find the solution: Change validate.php in /classes/ public static function isCustomerName($name) { $validityPattern = Tools::cleanNonUnicodeSupport( '/^0-9(?:[^!<>,;?=+()\/\\@#"°*`{}_^$%:¤\[\]|\.。]|[\.。](?:\s|$))*$/u' ); return preg_match($validityPattern, $name); } To public static function isCustomerName($name) { $validityPattern = Tools::cleanNonUnicodeSupport( '/^(?:[^!<>,;?=+()\/\\@#"°*`{}_^$%:¤\[\]|\.。]|[\.。](?:\s|$))*$/u' ); return preg_match($validityPattern, $name); } After: You must have change 2 files: in: src/Core/Domain/Customer/ValueObject/ There is 2 files : FirstName.php LastName.php change : private function assertLastNameIsValid($lastName) { $matchesLastNamePattern = preg_match('/^[^0-9!<>,;?=+()@#"°{}_$%:¤|]*$/u', stripslashes($lastName)); if (!$matchesLastNamePattern) { throw new CustomerConstraintException( sprintf('Customer last name %s is invalid', var_export($lastName, true)), CustomerConstraintException::INVALID_LAST_NAME ); } By: private function assertLastNameIsValid($lastName) { $matchesLastNamePattern = preg_match('/^[^!<>,;?=+()@#"°{}_$%:¤|]*$/u', stripslashes($lastName)); if (!$matchesLastNamePattern) { throw new CustomerConstraintException( sprintf('Customer last name %s is invalid', var_export($lastName, true)), CustomerConstraintException::INVALID_LAST_NAME ); } ( In fact remove characters you want, for me only 1-9) by the way , do the same with firstname: { $matchesFirstNamePattern = preg_match('/^[^0-9!<>,;?=+()@#"°{}_$%:¤|]*$/u', stripslashes($firstName)); if (!$matchesFirstNamePattern) { throw new CustomerConstraintException( sprintf('Customer first name %s is invalid', var_export($firstName, true)), CustomerConstraintException::INVALID_FIRST_NAME ); } } by { $matchesFirstNamePattern = preg_match('/^[^!<>,;?=+()@#"°{}_$%:¤|]*$/u', stripslashes($firstName)); if (!$matchesFirstNamePattern) { throw new CustomerConstraintException( sprintf('Customer first name %s is invalid', var_export($firstName, true)), CustomerConstraintException::INVALID_FIRST_NAME ); } }
    3 points
  46. Works with: Prestashop 1.7+ (tested up to 1.7.5.5) Navigate to: yousite/src/PrestaShopBundle/Resources/views/Admin/Product/CatalogPage/Lists/products_table.html.twig Find: <th scope="col" class="text-center" style="width: 9%"> {{ ps.sortable_column_header("Price (tax excl.)"|trans({}, 'Admin.Catalog.Feature'), 'price', orderBy, sortOrder) }} </th> Add below: <th scope="col" class="text-center" style="width: 9%"> {{ ps.sortable_column_header("Final price"|trans({}, 'Admin.Catalog.Feature'), 'price_final', orderBy, sortOrder) }} </th> Navigate to: yoursite/src/PrestaShopBundle/Resources/views/Admin/Product/CatalogPage/Lists/list.html.twig Find: <td class="text-center"> <a href="{{ product.url|default('') }}#tab-step2">{{ product.price|default('N/A'|trans({}, 'Admin.Global')) }}</a> </td> Add below: <td class="text-center"> <a href="{{ product.url|default('') }}#tab-step2">{{ product.price_final|default('N/A'|trans({}, 'Admin.Global')) }}</a> </td> If you guys don't want to make the edits on your own, just copy the files i added to this post. list.html.twig products_table.html.twig If this post helped you click the "Like" button to let others know this solution worked for you.
    3 points
  47. PrestaShop Forum Rules The following rules must be followed at all times These rules are not meant to be restrictive; they are meant to enable a more enjoyable experience in the forum, allow you to find the information you need quickly, and allow you get help from the community in a timely manner. The following rules apply to the English Forum section. Failure to respect these rules on multiple occasions could lead to you being banned from the forum. =It is therefore highly recommended to read "Forum Advice Best Practices" below. Respect for others is paramount! First and foremost, show respect to your fellow posters and moderators. The PrestaShop forum is a community for your fellow designers, developers and store owners, so please treat them with the same level of respect you would like from them. Take the time to help yourself first before asking for help Before rushing to press the "New topic" button, please be sure to run a search for your issue, starting with the “pinned topics” on top of the different forums. If your problem is related to an error message, copy and paste a small part of the error message into your search engine. You will likely find someone else who has had a similar issue and who may be able to help you solve it. Respect the forum language PrestaShop brings together communities from around the world; the forums are divided into different languages. Thank you for posting in the corresponding language to that forum. Respect the subject of the forum, read the description underneath its name Please take the time to study the sections available to determine which one is the best suited to your question. This is best for you (better chance that your question will be read by a person who has the right knowledge) and best for everyone else (other users who may encounter the same problem will start their search in this specific section). Hint: you don’t want to post your question at the end of a sticky (“pinned” topic), they’re not here for that purpose, but to provide the PrestaShop community with useful information. 1 Topic = 1 Subject or 1 Question - If you have more than one question, open more than one new topic! - Do not ask your question on a thread that doesn’t deal with the exact same matter. Open a new thread, it’s alright to do so. Write with care Please respect your readers. Pay attention to your spelling and grammar and take the time to read your post again and if need be, edit and correct your post... Use a spell-check whenever possible, you can download several ones working with Firefox or Google Chrome for free (http://support.mozilla.org/en-US/kb/how-do-i-use-firefox-spell-checker |https://support.google.com/chrome/answer/95604?hl=en) Don’t yell Yelling is painful to the ear, caps lock is painful to the eye. Use capital letters with moderation. Give your topics concise but well explained titles! Topics titles must be a short description of the message, so that the topic is more easily found while doing a search. Avoid terms like "URGENT", "Help me", etc. Appropriate content required Posting text, images and documents deemed to be potentially offensive (insulting, shocking, swear words etc.) is prohibited. Should your content be potentially inappropriate (e.g. intended for an 18+ audience), please show respect and give a disclaimer any time you post your link. Harassment or out of place remarks by PM (Private Message) are forbidden. People who are victims of these activities should report it to the PrestaShop team. The assessment of the level of decency is left to your good sense and to the judgment of the moderators. [sOLVED] Topic If, after posting a topic, you find a solution to your problem, please indicate it in your post and describe the solution. Furthermore if you are the author of the topic for which a solution has been found, please edit your topic title to mark it as [sOLVED]. To mark a topic as [solved] : - Edit the first post of your topic by clicking on the "Edit" button, - Click on the "Use full editor" button, - Add the "[solved]" string at the beginning of your topic title and click on the "Submit Modified Post" button. Report a post to Moderator When a post violates the rules of the forum with (non-extensive list): – Bad forum etiquette – spam, advertisements – use of another language than the one used in forum – Posted in wrong forum, or the wrong language Please report it to the moderators by clicking on the [Report] link located in the bottom left of each post. Report a bug / Suggest a functionality The Bug Tracker is the only place that your bug reports will be taken under considerations. They must be written in English. The PrestaShop Feedback’s platform is the only place consulted for suggestions for the addition of new features into the PrestaShop solution. The suggestions must be in English. Nicknames, avatars and signature The PrestaShop and PrestaBox brands and logos are protected by intellectual property rights. Their use is subject to the express authorization of PrestaShop S.A. Any pseudonym or avatar which violates the intellectual property rights of PrestaShop S.A. may be modified by PrestaShop S.A. following a refusal or a prolonged lack of response by the user. PrestaShop S.A. reserves the right to suspend a user's account in the case of a repeated infringement of PrestaShop S.A.'s intellectual property rights. In addition, in order to facilitate the reading material of the forum and to avoid the eye fatigue, animated or blinking images are not permitted for avatars and signatures. Concerning signatures: – new users cannot create a signature until they have submitted 25 approved posts – the font must be the default size, – it cannot be longer than 3 lines – It can not contain advertisements, or special offers (eg. use voucher code “forum” for 25% off). – it cannot contain more than ONE (1) link, which may be in your banner. The link may direct to your own store. – NO affiliate links are permitted – a single .jpg or .png banner is permitted, with maximum dimensions of 360 x 60px and no more than 8kb. Members' signatures with more than one(1) URL links will have the extra URL links automatically removed to comply with Forum rules. Any user found to be in violation of these rules will be contacted and asked to edit their signature. Noncompliance will result in loss of signature privileges. No support by PM or e-mail Demands for help are not permitted by PM (private message) or by e-mail to the PrestaShop team. You will have more chance to have a response by posting on the forum, and it will be useful for everyone! Additionally, moderators cannot respond to direct requests to look at a specific thread, be it by PM or on a separate thread. The forum is not a hotline for PrestaShop, nor as an after-sale service for PrestaStore.com or PrestaBox.com. Advertising is restricted to one and only one section of the forum Advertising is only allowed in the "Paid modules & Themes” and “Job Offers” forum, and out of respect for others, please do not post your advertising in someone else’s topic. If you are advertising for a site that proposes your services, this web site must contain all the information proving the legality of your activity (legal mention, etc.). Additionally, you should never get in touch with any user through private messages to advertise or promote your products/services. We will aggressively pursue the highest legal consequences against companies who engage in unsolicited advertising of Forum users. External links In forums other than "Paid Modules & Themes” and “Job Offers", links to a site offering paying products are prohibited. In the “Paid modules & Themes” and “Job Offers” forums, any link must point precisely to the relevant product page. Job Offers Users are welcome to post job offers for paid assistance and ask for specific developments and/or other PrestaShop needs. However, those developers who do respond to those posts must have a presence on the PrestaShop forums beyond responding to these requests and posting Paid Modules/Themes. You must be active on the community forum, helping users in order to respond to job offers. “Job offers” sections are available throughout the forum in different languages. Community Modules and themes Members of the Community can share with everyone modules or themes they developed and give away for free. Any module or theme shared in the “Free Modules & Themes” section should be attached directly in your post. The Community makes great paid modules and themes. Members who developed product sold on their website and/or PrestaShop Addons can feature them on the forum, in the “Paid Modules & Themes” section. Community modules and themes are only available in the General forum in English. If you share and sell your modules or themes on the forum, you must also be active on this community forum as a helping hand for other users. Within this section there will be no Promotional Threads, ie: "Save 35% off All Modules/Themes". This forum is not meant to be an advertising and promotional haven. Members who are found to be breaking these rules will be warned first, and then Banned. Forum Advice & Best Practices Detailed questions and posts Please provide details in your posts; You will obtain responses more rapidly and more easily, instead of additional questions. Here is a list of information that could be useful: Installation type (new/update): PrestaShop version: Theme (default/customized): Code (original/modified): Hosting: PHP version: MySQL version: Browser(s) concerned: Moderators Moderators are here to make sure that the rules of the forum are respected, to help merchants with issues and to facilitate responses. They are trusted with responsibilities because they are skilled, respectful and helpful to the community. Please respect the moderators for their volunteer work. If you have any questions or concerns about their actions, please see the contact information below. Be careful with Fraud Websites! Some people use the name and/or the logo of PrestaShop in their shop. If you have any concerns about a potential Fraud, please contact a Community Manager directly. There are the only sites officially affiliated with PrestaShop: * www.prestashop.com – PrestaShop community's site. * addons.prestashop.com – PrestaShop's market place. * www.prestabox.com – Hosting for PrestaShop stores without technical constraints. Contact If you have any questions or concerns, please contact the PrestaShop Community Manager Antoine Flavigny.
    3 points
  48. Anyway you can pass parameters like this example I've found {hook h="displayAdminCustomers" id_customer=$customer->id} So in the hookDisplayAdminCustomers($params) you can access $params['id_customer']
    3 points
×
×
  • Create New...

Important Information

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