Leaderboard
Popular Content
Showing content with the highest reputation since 04/02/2024 in Posts
-
Today, we are thrilled to introduce the latest version of Thirty Bees: Version 1.6. This update wouldn’t have been possible without the support of our dedicated members. Thank you for being part of our journey! And to those who contributed code—your work is invaluable, and we extend our heartfelt thanks. If you’re not yet a member, consider joining us. Your support, whether through a small donation or by becoming a monthly member, makes a real difference. For just $15 a month with our Silver Membership, you gain access to an array of powerful modules designed to save you time and streamline your workflow. What’s New in Version 1.6? This release introduces numerous core updates and security improvements, some of which are highlighted below: ImageRewrite with AVIF Support: You can now use the AVIF format for images, optimizing quality and load speed. Enhanced Email Subject Control: Customize the email subjects sent during order status changes for better customer communication. Additional Category Description Field: We've added an extra text field in category descriptions for improved flexibility. New Modules: Two new modules are part of this release. One is free for everyone, allowing you to filter specific email domains in the contact form to reduce spam. The other, part of our Premium module pack, limits email-sending attempts from individual IPs, helping to prevent spam attacks. For just $15 a month, the premium pack includes this and other powerful tools to boost your efficiency. You can find all premium modules in the backoffice of your store! Love Thirty Bees, Please Support Us: For non-members, we have introduced a campaign to support Thirty Bees’ ongoing development. After a period, you’ll see a pop-up asking if you’d like to join us as a member or make a donation to support our work. Don’t worry; this pop-up won’t reappear for another two months, so it remains far from intrusive. Paying members, however, will not see this pop-up at all. How can you Support / Help Thirty Bees? We all love Thirty Bees and it has made many businesses thrive and be successful. The truth is that we’ve come a long way together, but there’s still so much more we can achieve. To continue growing, we need your help. We’re looking to expand our team, improve our platform, and spread the word about ThirtyBees to new users and developers. But we can’t do it alone. This is where our community comes in. How You Can Help: Leave a Review on TrustPilot: If ThirtyBees has helped your business, we’d love for you to share your experience. Positive reviews on TrustPilot not only help us reach more people but also build trust within the community. Support Us with a Donation or become a Supporter: Your contributions will directly help us bring more developers on board, enhance the platform, and support our growing user base. Every little bit counts, and it all goes back into making ThirtyBees even better. Spread the Word: Tell your friends, colleagues, and fellow entrepreneurs about ThirtyBees. Your endorsement is the most powerful tool we have to grow our community. Continue to Engage with Us and other Users in the Forum: Share your ideas and feedback, continue to help others like you always have. ThirtyBees thrives on the input and energy of our community. We love and appreciate that you are here! You are what makes ThirtyBees great! We believe in the potential of ThirtyBees and the strength of the community behind it. Together, we can continue to build something amazing—an eCommerce platform that truly serves its users and grows with them. Thank you for being a part of our journey. Your support means the world to us. Happy selling! Petr, Theo & Chiel Image rewrite generic mechanism to define and generate image types for any entity (categogry, products, blog posts,...) unified support for all image formats for all entities avif format chores updated librarires Remove dependency on Jaybizzle\CrawlerDetect, replaced by tbdetectcrawler module donate campaign small enhancements Product supplier: new columns name and comment Order Statuses: support for custom email subject Display calculated weight for pack products Category: new field Additional Description Hreflang: ability to override hreflang mappings Support shortcodes in order messages in backoffice Buttons to delete empty/old carts Automatic deletion of old css, js, and log files. Configurable retention Add button to close threads older than 30 days Expose CMS Categories to webservice New hook - displayAdminCartFooter hook Improve search indexation logic Contact form: support custom validation (two new premium modules - ban ip address, filter messages by content) Save maintainance IP addresses globally Import combination: mechanism to delete only combinations for products referenfed in CSV files Pass {invoice_number} placeholders to order status email templates Better Linux and Windows compatibility Information page: use asynchronous test to prevent page timout Cookie serialization: support saving all filter values privacy and security lot of security fixes Stop using google fonts in back office bugxies PHP compatibility fixes Better logging Fix Saving specific price without rules does not refresh specific prices on products Back office lists error handling Back office lists filter values serialization Category alternate url: check enabled flag Fix SpecificPriceRuleCore::getAffectedProducts Fix deleting default attribute Language deletion - fix directory cleaning Proportionate taxes: Fix shipping tax calculation Contact form: verify that order belongs to customer Fix error with cheapest product cart rules Clear op cache after zip extraction, fixing modules update Fixed translation extraction Fix download product link generation Use debug error page during installation Import: set out_of_stock only when provided KPI: fix refresh functionality Fix issue with incorrect tax breakdown Carrier selection issues Fix carrier weight restriction10 points
-
Hi everyone, I just wanted to raise your attention to the fact that cloudflare recently enabled Speculation Rules API for all plans. This functionality is designed to improve browsing speed by aggressively prefetching potential future assets/pages etc. However, these prefetch requests can be quite dangerous sometimes. Example: I'm in back office modules pages, and I click on 'Uninstall module' button. The confirmation dialog is displayed to ask if I'm sure. But the question is irrelevant - because of this new prefetch functionality, your browser already sent a request to your server to prefetch the response for the uninstall action url. The module is already uninstalled You can see the request in network tab. Even though claudflare responded with 503 error code (meaning the prefetch response will be ignored by browser), the request still made it to your server, and action was executed. If you click 'OK', thirty bees will send the actual request, and it will actually fails with error message "This module has already been uninstalled" That's nice, isn't it. The uninstall/install module buttons are not the only one that are impacted. For example, 'delete' or 'approve' or 'send' buttons in lists in back office, etc... It can also impact front office, most likely -- browser can automatically add product to a cart because it believes that user will click on the "Add to cart" button soon, so better be prepared for that... right. It's quite dangerous optimization. It's true that if thirty bees used POST instead of GET requests to implement these kind of actions, this situation could not happen. But we can't really change that. We will look into a way to prevent/mitigate this problem. Fortunately, browser is sending some HTTP headers that we can use to determine if request is a regular or prefetch, so we can use that to prevent this (hopefully) But until a fix is implemented, I advice you to disable this new prefetch optimization in your cloudflare dashboard. And to be sure, maybe even after that 🙂7 points
-
Hey everyone! I wanted to share my experience with thirty bees. If you’ve been searching for a robust, feature-rich solution for your online store, I think you’ll be pleasantly surprised by what thirty bees has to offer. Here are some of the reasons I’m running it on all my shops since it's fork : Focus on Stability and Performance One of the biggest headaches in e-commerce can be platform instability - nobody wants a store that crashes or slows to a crawl. thirty bees is built with performance in mind, ensuring that page loads remain snappy and your store stays responsive. This means a better experience for your customers and less downtime for you. It supports most modern caching solutions and runs on apache, litespeed and nginx servers. Easy Migration If you’re already running an online shop on PS or a similar platform, moving to thirty bees can be straightforward. The developers have put a lot of effort into making the migration process smooth. That means you don’t have to reinvent your store from scratch or lose your hard-earned data and customizations. Some troubleshooting will be required if you have to migrate from very old php versions (v5) but there are plenty of help here in the forum and people that can do the job if you're not confident with it. Open-Source Community thirty bees is an open-source project, which means you get the benefit of a community of developers, merchants, and enthusiasts who actively contribute to improvements, security patches, and new features. You’re not tied to a single vendor for updates or support—you can tap into a global network of experts. If you need support or you need some of the quality premium modules you can subscribe for a tiny sum per month, but it's strictly your choice. Rich Feature Set Whether you need advanced product attributes, multiple languages, detailed analytics, or a robust checkout process, thirty bees has you covered. It provides a wide range of native modules and integrations, making it easy to tailor the platform to your store’s needs without having to rely on countless add-ons. New features are added on regular basis while trying to keep compatibility with themes and modules from established developers - packs with attributes, list filters for BO and many more! User-Friendly Back Office The admin panel is designed to be accessible and intuitive, so you can spend more time focusing on growing your business rather than wrestling with confusing settings. Tasks like adding products, managing inventory, and processing orders feel straightforward. If you are bored with just one shop, switch Multistore ON and make your second shop in the same installation - save on development time and running expenses. Strong Compatibility Because it’s based on a well-known e-commerce framework, thirty bees supports a lot of existing modules and themes. You can often bring your favorite PS modules over, or tap into the thirty bees - specific extensions developed by the community. Active Development The team behind thirty bees is committed to ongoing improvements and enhancements. That means bugs get fixed quickly, and you can expect new features to roll out regularly. Staying current helps keep your store secure and competitive. If you find any bugs or request new feature you can post here: https://github.com/thirtybees In Conclusion If you’re looking for an e-commerce solution that combines reliability, performance, and an active, helpful community, I highly recommend giving thirty bees a try. It’s been a breath of fresh air for my online stores, and I’m confident it could be the same for you. If you have any questions about migrating or just want to talk shop, let’s discuss it on the forum! And now a personal appeal to the fellow forum members: thirty bees thrives on community support. Whether you subscribe, donate, or contribute your development skills, your help drives innovation and secures the future of our platform. Our because it is made and maintained by fellow dedicated merchants and developers.6 points
-
I am a day zero user of tb. It looks like the best deicision I could have made. While this project had ups and downs, it's still alive. There were so many huge improvements. Things may take longer here, but are done in a high quality way: Core updater (this is fucking awesome) Extraction of dependencies New image support (webp) Bug fixing / php support I am sure @Eolia has his reasons, why he is doing this on his own. But as I can see, his project is not on github. Which very likely means, that he is really doing this his own. For me that would be too risky.5 points
-
I'm sure most of you know, and are using collectlogs module. If you are in need to update PHP versions of your store, this is very useful tool. It collects and report all deprecation warnings inside core/modules/themes that you need to fix before you can update to next PHP version. Once all warnings are fixed, it is very safe to update. I've very rarely experienced issues with update when all warnings were fixed before. I have recently updated php version for one store, but this time it went badly. The site displayed 500 after the update, and it took some time to get it working. I had to fix a lot of issues that should have been detected by collectlogs module, but weren't. Well, it turned out, that there was one module that was kind enough to turn off error reporting inside its constructor. So every time this module was used, all subsequent warnings were silently ignored. After update of PHP version, those warnings were no longer warnings but regular errors, and nobody can ignore that... I suggest you look into your modules main php files and look for error_reporting(-1); or error_reporting(0); It can looks like this: https://github.com/Hritani/matar/blob/9645ec14a0d8ca9fa2f7644b0b7b28c3f3bf76b4/modules/hooksmanager/hooksmanager.php#L85 points
-
Hi everyone, I'd like to ask you for a help with testing upcoming new feature - Packs with Combinations. As you may know, it is currently not possible to have combinations for Pack products. This new feature add supports for that. What is it good for? For example, let say you are selling sport equipment. You want to create a bundle for soccer players containing soccer ball, socks, and cleats. Every one of those products in pack can have different variants (ball can have size 1-2-4-5, socks can have different colors and sizes,...). Because thirty bees does not support packs with combinations, you would have to create a dedicated Pack Product for every combination of products that you want to sell. That's not very user friendly, and it's very hard to maintain. That's why we have this new feature. How it works: 1) When you are adding a product with combinations to your pack, you can now select a special item variant named virtual attribute. (It's stupid name, I know. I'm open for better name suggestions 🙂 ) 2) when you add this special variant to the pack, and save the product, thirty bees will automatically generate a matching Attribute containing all combinations of that product. This is a special Attribute that can be only used by Pack products that contains the virtual attribute item. System will make keep the attribute values in sync with existing combinations. You can rename the attribute name, and also rename the attribute values. 3) In pack product, you can use this new attribute to create/generate combinations: 4) On front office, you now have an option to select specific combination of a pack: This approach is not the nicest. I personally don't like the need for dedicated Attribute that is kept in synch with specific product combinations. But by doing it this way, we have achieved backwards compatibility. Every modules that work with combinations/attributes can work with that. There are a lot of corner cases that I'd like your help with testing. If you are willing to help, you can use core updater. In module settings, select 'custom target' as your distribution channel, and then update to branch pack-combinations: Thank you for your help!4 points
-
4 points
-
This module allows you to have lists of something -- usually it's list of products, customers, or orders. These lists are meant for employees only, and are usually used as some kind of todo list or trello board. There are few different ways how items can be added to the list (my examples use list of products, but similarly you could work with other entity types) 1) manually -- employee can assign products with lists in back office product page: 2) mass addition -- all products, or all products that matches some criteria can be added in bulk 3) Entry conditions You can set up list entry conditions -- when product is created, or updated, and conditions are satisfied, the product will be added to list. Example use case: Let's say I'm adding new language FR to my store, and I want to have list of all products that needs translation. I create new list named FR translation completed I perform initial load of products -- assign products by condition (english name exists, FR name does not exists) Next, I will create exit conditions (in Set rules > Exist conditionS) -- remove product from this list when product is updated, and FR translation for Name field has changed and is not empty: Now every time I edit the product that is on this list and change Name fields in FR, the product will be removed from the list. I now have a TODO list of products that needs attention of my translator: There are many other use cases. For example, when product price changes, product can be added to 'Review price' list automatically. You can have a list of orders waiting for products on backorder, or whatever. You can also create list without any entry or exit conditions, and use it for intracompany communication. For example, your employees can use lists to flag some orders for managers attention, or manually mark products that are low on stock,...4 points
-
As Smile wrote -- adding new field to db, and implement basic CRUD operation on top of it, is quite simple. Anyone who really need it can can implement this functionality. Hoverer, to add this properly to the core, is more complex. We have to considerer other aspects as well, for example: support this field in CSV import expose this field in Webservice, both read and write access impact on themes -- should this be exposed to theme? Do we need to update community-managed themes? since this is a classification field, maybe we should have a new table with all possible values instead of free-text? If that's the case, we need to populate this table during install AND during store update, and make sure the table values are up-to-date (which means future work is needed) and who knows what else It would take a few hours, maybe even days, to do that. It was not worth the effort at the time - no real demand for this field, and if anyone really needs they can create a limited implementation themselves.4 points
-
4 points
-
Thanks for letting me know. This module checks only existence of .jpg source file. With the image rewrite, we can now upload and store source files in different formats as well (webp, avif, png,...) I will have to update the module to check for those as well4 points
-
I did some testing, and... released a new version of paypal module, and I strongly recommend everybody to update 🙂 There was a serious bug in module. When creating an order, paypal module provided current cart value instead of amount that was actually paid. This should be always the same, unless it isn't. For example, if you can do this: clicks on payment button that opens paypal checkout page open your store in different tab, and amend the cart (add/remove products, change carrier,...) switch back to paypal tab, and conclude the payment Normally, the order would be created with Payment Error state. But because of the bug in paypal module, the order would be created in Payment validated state, everything marked as fully paid. Neat.3 points
-
Dear ThirtyBees Community, We hope this message finds you well. This is a heartfelt outreach to you, our valuable community and users. As many of you know, ThirtyBees was born out of a passion for creating a reliable, feature-rich, and accessible eCommerce platform that empowers businesses of all sizes. From the smallest startups to large enterprises, our goal has always been to provide a tool that helps your business thrive. Today, we’re reaching out to our incredible community—people like you who believe in the power of open-source, who have supported us, and who continue to shape the future of ThirtyBees. We’ve come a long way together, but there’s still so much more we can achieve. To continue growing, we need your help. We’re looking to expand our team, improve our platform, and spread the word about ThirtyBees to new users and developers. But we can’t do it alone. This is where our community comes in. How You Can Help: Leave a Review on TrustPilot: If ThirtyBees has helped your business, we’d love for you to share your experience. Positive reviews on TrustPilot not only help us reach more people but also build trust within the community. Support Us with a Donation or become a Supporter: Your contributions will directly help us bring more developers on board, enhance the platform, and support our growing user base. Every little bit counts, and it all goes back into making ThirtyBees even better. Spread the Word: Tell your friends, colleagues, and fellow entrepreneurs about ThirtyBees. Your endorsement is the most powerful tool we have to grow our community. Continue to Engage with Us and other Users in the Forum: Share your ideas and feedback, continue to help others like you always have. ThirtyBees thrives on the input and energy of our community. We love and appreciate that you are here! You are what makes ThirtyBees great! We believe in the potential of ThirtyBees and the strength of the community behind it. Together, we can continue to build something amazing—an eCommerce platform that truly serves its users and grows with them. Thank you for being a part of our journey. Your support means the world to us. Let’s make ThirtyBees the best it can be - together. Warm regards, The ThirtyBees Team3 points
-
Hello everyone, I'd like to announce new upcoming feature, and as always ask for testing and reporting any and all issues, problems, and enhancement requests. This new functionality is names List Filters. You can test it by upgrading your store to list-filters branch (using core updater in custom targets) What this new functionality do? On every (filterable) lists in back office you will find a new icon in upper right corner: When you click on it, new section will appear. Here, you can define additional filters that will be applied to the list. The new filters are applied together with the standard filters from list header. But these new filters are slightly more powerful, because you can select operator - not, contains, starts with, between, any of Also, developers can define additional filters in AdminControllers that do not depend on list columns. For example, I have added new filter fields for Order list controller - (Customer - Email, Customer - First Name, Customer - Last Name). So you can filter order list by customer email, even though customer email is non one of list columns! We will be slowly adding more and more filter fields based on your suggestions. Let us know what you need!. This functionality is not 100% completed, but it's quite stable. I've been using it on few production servers without any issues for a few weeks now, so it should be safe for you to test it as well. We already have a few enhancement we want to implement. One of them is support for filter presets -- you will be able to save your filter settings, and easily switch between different presets. Now it's your turn. Please test and give feedback. I'm sure there is a lot to improve here. I'm very excited about this new feature, as I wanted to do have this for a few years now. And finally it's coming 🙂3 points
-
Thanks to everyone who continues to support ThirtyBees, with signing up for new memberships, doing reviews, making donations and spreading the word - from all of us at ThirtyBees, a BIG Thank You!! Your support helps TB survive and thrive, and is noticed and appreciated! To those who want to help - now is the time - your support makes a BIG impact! Thank you! How You Can Help: Leave a Review on TrustPilot: If ThirtyBees has helped your business, we’d love for you to share your experience. Positive reviews on TrustPilot not only help us reach more people but also build trust within the community. Support Us with a Donation or become a Supporter: Your contributions will directly help us bring more developers on board, enhance the platform, and support our growing user base. Every little bit counts, and it all goes back into making ThirtyBees even better. Spread the Word: Tell your friends, colleagues, and fellow entrepreneurs about ThirtyBees. Your endorsement is the most powerful tool we have to grow our community. Continue to Engage with Us and other Users in the Forum: Share your ideas and feedback, continue to help others like you always have. ThirtyBees thrives on the input and energy of our community. We love and appreciate that you are here! You are what makes ThirtyBees great!3 points
-
Left a review—really great project. Since version 1.1, I’ve been trying to convince clients to switch to Thirty Bees. Those who did are really happy with it. Just last month, a client called me and said that a year earlier, I had recommended Thirty Bees to them. They gave it a try and now say they’re never going back to PrestaShop. The main reason? It just works. PrestaShop requires constant maintenance—someone always has to keep an eye on it. While it may have a few more features, Thirty Bees is simply more efficient. It supports newer technologies (like PHP, often a year ahead of PrestaShop) and isn’t packed with unnecessary bloat. If someone just wants to focus on selling and running a business without headaches, Thirty Bees is the way to go.3 points
-
There is a vendor dependency psr/cache that some other modules may also rely on. Updating crashes the site if you have modules that also rely on it and that have their own versions. datakick is seeing whether he can remove the dependency from the core.3 points
-
Hi Guys! Are you getting ready to the new EU Law regarding product safety. Here is a short summary about what it requires from store owners. When selling remotely via a website, the product listing must include: Manufacturer's details: the full name or registered name, registered trade name, or registered trademark of the manufacturer, as well as the postal and electronic address where they can be contacted; If the manufacturer does not have a residence or registered office in the EU/EEA: the full name or name, postal address, and electronic address of the responsible person (responsible entity); Information to identify the product, including its image, type, and other product identifiers; Any warnings or safety information. I already have a module that helps stores to comply with it, but in case you have any questions let me know, as I've been studying the subject a bit lately.3 points
-
Nevermind. I opened an Account at Wise and even, if it's a prepaid card as well. This one got accepted 😅 🤦♂️3 points
-
Here is a tiny module that is s till in alpha stage so please test and use with care. You want to offer virtual gift vouchers to your customers? OK then! Virtual Vouchers Generator How to use this module: 1. Create your voucher products - set those as Virtual so they don't incur delivery if ordered alone. The value of those products will be picked as voucher value. If multiple products are ordered at once the value will be combined into one voucher. 2. Specify the Product IDs for those products in Virtual Voucher Product IDs. 3. Specify the proper statuses when the virtual voucher order is considered paid in Paid Order States (IDs). 4. Configure the rest of the options to your liking. 5. Copy the cron URL and run it at proper intervals (recommended 5-10 mins). Configuration page: Email sent after order validated as paid: Check voucher page (in Niara - adjust module css to your liking!): As I'm still learning, so please keep in mind this module could (and most probably will) have some bugs. And still the lookback logic for validating the orders is not so cleared out. If in future somebody want to take over development would be more than happy. Changelog: 0.7.3 alpha (12/1/2024) - Fixed bugs with translation strings, new email template (single column, mobile-friendly), fixed bug with cron link not including https. 0.7.2 alpha - Minor bugfixes with multistore reCAPTCHA settings, voucher check page, and controller name. 0.7.1 alpha - Introduction of 'Check voucher' page where the customer can see how much funds are left into their multi-use voucher. Integrated with Thirty Bees' reCAPTCHA module (if it's installed, enabled, and configured the reCAPTCHA will be shown here too) - the customer has to enter the validity date of the voucher as a safety measure. The page's friendly URL should be configured in SEO & URLs (or if you don't use SEO URLs, access from here: /index.php?fc=module&module=tbvirtualvouchers&controller=vouchercheck). 0.7.0 alpha - Option to limit the voucher country based on where it was ordered (from invoice address), email tweaks and fixes, new logo with attribution. 0.6.0 alpha - New email template, Bulgarian email language. 0.5.0 alpha - Initial release. To do: further voucher settings add T&C section to configuration so those are attached to the email. pass conditional information to email for country restriction (if available). introduce changelog in the module. tbvirtualvouchers-0.7.2.zip tbvirtualvouchers-0.7.3.zip3 points
-
Hi, I'm currently developing module for my internal needs, but I believe it could be useful for others as well. The module basically connects to your bank account, download transaction informations, and try to match them with your pending orders. If the transaction contains order id, and amount also matches, the order is automatically switched to Paid status. I have basic functionality working, but without any fancy stuff like configuration, transaction overview etc. I personally don't need it because I can access data in db directly, but it would definitely be needed for paid modules. So I'm just gauging interest to see if I should invest more time into this. Note that this module is able to work with more than 2500 banks, from EU mostly - https://gocardless.com/bank-account-data/coverage/3 points
-
After calming down from the shock to find 97000 htaccess files in your shop and realizing that 1 shop is gone we now have starting to rebuild shop 2 with the content of shop 1, a task that will take a while because it is 1200 products. But at the same time we will now get a shop up to date with latest versions of everything. But it takes a while to realize that your waorst enemies is not on the outside but on the inside. Anyway I jst wanted to mention that in this new shop we have abandoed both Google analytics and gmail. GA because they use the collected info for marketing. Not just your info, but the info from all your customers as well. Google are now involved in more than 200 court cases because of it. Gmail we abandoned for the same reason partly. They scan f.ex order emails for marketing info, but its becoming more and more hopeless to send attachments. F.ex my business partner the other day bought the prestashop importer module, downloaded it and wanted to send it to me for installation. Not possible, gmail blocked the zip-file. So now we have changed smtp provider and also installed Matomo instead of GA. I cant have Matomo installed "inhouse" so we decided to go with a colleuge who runs both email servers and a Matomo server. If anyone is interested their website is https://mediasafe.pro. A mail account for smtp relay is not free but we can live with 1 € per month for 1000 mails. On the other and a "free" gmail account you pay with your privacy We have used TB since version 1.01, it has been ups and downs, but for the moment it seems stable. Hope it will stay that way also in the future. We have learned our lesson the hard way, but life is about learning. Anders Yuran3 points
-
Thanks for your work, guys! Still very happy to use thirty bees. Obviously I support the project with the monthly subscription and with paid support hours. 😉 I hope, I can find some time for some useful PR on github ⏲️ But I am very busy with my own work, so atm the financial support is easier 🤑3 points
-
3 points
-
Here is the fix for Community theme: https://github.com/thirtybees/community-theme-default/commit/b6584976b52d8e6a818fc031b621c554bdf9fdf5 It is recommended to update to at least 1.5.1 as soon as you can because there are other security fixes between 1.4 and 1.5.1, this time in the core.3 points
-
@Mark Check out Cisero template from Zen described in another thread. Four months ago I was in a similar situation looking for fast and modern template. After optimization page speed improved significantly. CLS of 0.46 is too high, I'm waiting for Google update. BTW. It's still the same VPS server. Updated PHP, nginx, mariadb and Debian.3 points
-
Prestashop templates have a lot of errors when it comes to structured meta data. And unfortunately thirtybees inherited these errors 😞 In product.tpl template the code: <meta itemprop="price" content="{$productPrice}"> correct to: <meta itemprop="price" content="{$productPrice|string_format:'%.2f'}"> And according to google requirements, prices sent to GMC must be with tax: https://support.google.com/merchants/answer/6324371?hl=pl3 points
-
There was talk about a new Mollie module but it seems to have fizzled out. I am getting warnings from Mollie themselves about changes. Any news on this?2 points
-
A stable system that is being maintained. Lots of features. Easy to update. Excellent support. Thank you!2 points
-
I realize this is an old thread, but it was relevant to me to remove invoice attachment in all scenarios, but still generate the document for customer access on the web, to ensure optimum email delivery with our domain (Since huge amounts of emails with attachments are a big spam flag). I resolved with this override based on a post I found on the web. (Don't judge my code please 😉) It takes an override of the PaymentModule.php file in classes/module/. Lines 695-698 below are modified. PaymentModule.php2 points
-
Well, it's definitely a blocker. When system tries to generate thumbnails for products (or other entities), it look into db for any image types assigned to image entity. If image entity is missing in DB, no image type will be returned, and no thumbnail will be generated. So, having image entity table populated, and having image types associated with image entities, is a prerequisite.2 points
-
This has been fixed. If anyone is interested what went on, here's s summary. Thirtybees contains vendor directory that have third party libraries that core depend on. We need smarty template engine to render templates, guzzle http client to send http requests to api server, tcpdf library to generate pdf, and others. These dependencies causes few problems some libraries have different implementaions for different PHP versions -- that's the reason why we have different PHP builds. We can do that as long as the library interface remains the same by having these libraries in the core vendor directory, they are autoloaded first. This can cause conflicts with modules In this particular case, we updated library mobiledetect/mobiledetectlib to latest version 4.8.09. That versions depends on yet another library psr/cache version 3.0. Previous versions of this library did not have this dependency. After update, core vendor directory contained psr/cache version 3. Unfortunately, a lot of modules (for example mollie) also uses this library, and have it in their respective vendor directory (modules/mollie/vendor). But because this library is already loaded by core, it will not be loaded from module vendor. If the module uses different version of library, than things can go bad very quickly. And that's what happened here - mollie requires psr/cache v1, but got psr/cache v3, and PHP raised exception. The fix was for us to remove the original library mobiledetect/mobiledetectlib from core -- it was replaced by library module tbdetectmobile. Now, this is not the complete fix, because there is still a compatibility problems between tbdetectmobile and mollie module -- both modules can't be installed at once. But at least it's not conflict between core and mollie module. We have released the tbdetectmobile module in different versions, that you can choose from very old version for PHP7.4 - https://github.com/thirtybees/tbdetectmobile/releases/tag/1.0.0 version for php8 that does not have dependency on psr/cache - https://github.com/thirtybees/tbdetectmobile/releases/tag/1.1.0 version for php8 that have dependency on psr/cache - https://github.com/thirtybees/tbdetectmobile/releases/tag/1.2.0 If you have a module that depends on psr/cache v1, you can't use tbdetectmobile v1.2, but you can use tbdetectmobile v1.1 It's a mess, I know, but it's the best solution I could found. In the future, we will release another version of tbdetectmobile that will change namespace of library dependencies, so it does not pollute global namespace. With that in place, the module will work correctly even if there is another module that have its own version of psr/cache library. Until that is done, you need to manually choose the correct version of the this module to use. It would be great if all modules did that -- but we can't really force that on third party modules. Side note: the mobile detection is used by core for two things only: to display mobile theme variant. As far as I know, almost none of the themes support this -- there needs to be a /mobile/ directory inside your theme that contains overrides for themes. If this directory exists, then thirty bees will use templates from this directory when request comes from mobile device. to disable some modules on mobiles/tables: Some third party modules might also depend on mobile detection. But, generally speaking, if you don't use these features, then you don't have a need for device detection, and you don't have to install the tbdetectmobile at all. Without this module, the response will be always identical for mobiles, tables, and desktop. With this module installed, the response can be different.2 points
-
Hello, that's exactly what we're going to do. I'm still doing some tests, as mentioned in another topic. Datakick suggested that it could be done in 1-2 hours of work. That's money well spent. Of course you want to try things out yourself and if you're successful with small changes to the code, that's great. For other things, however, we're at the point where we'll outsource it, which includes the final adaptation for PHP 8.x.2 points
-
There is no such feature. But you can make a custom query in the SQL manager in BO and pull this list: (adjust the table prefix to your needs) In general - if you want certain list to be created and it's still not a part of thirty bees you can do so with ChatGPT and save it in the SQL manager to use from BO. SELECT email, COUNT(id_customer) AS customer_count, GROUP_CONCAT(id_customer ORDER BY id_customer) AS customer_ids FROM ps_customer GROUP BY email HAVING customer_count > 1;2 points
-
Hi everyone, we are happy to announce new premium module: Contact Form IP Address Blocker module First of all - this module only works on thirty bees version 1.6.0 -- if your store is not on this version, you will need to update first. Thirty bees 1.6.0 introduced new hook that allows modules to filter contact form messages. This Contact Form IP Address Blocker module use this hook to block sending messages based on IP address. It collects statistics for every IP address -- how many times it send/attempted to send contact form message. This information is shown to administrator, and they can ban IP addresses of spammers. There is also an option to automatically ban IP addresses after they send N messages in the last H hours (where both N and H can be configured) Note that the ban is for sending contact form messages only. So, if you ban somebody by mistake, they can still use your site, they just can't send you contact form message -- they are asked to send email instead. I hope you will like this new addition to our of premium modules.2 points
-
2 points
-
I recently started using prestools... while it does not have all of the functionality of SM, I have found it to be quite useful in facilitating batch edits and various other needs. I currently use it for light category work and daily for products. I have the supplier plugin and plan on getting two more - so far so good.2 points
-
I've created my own theme using community theme as the starting point. I'm on my second round of revisions and while there is still much to do to get it up to the level that Panda used to be (I don't like the new version - too "glitchy" for me), I still use Panda's features and UI design as my foundational vision. I prefer a left column - blocked theme design as that is what I have found to be most appealing to my customers and new visitors. It seems to have some "sticky" to the site once a live person visits - I believe because navigation is easier and you can change left column options very easily, allowing you to experiment with "widgets" aka blocks that your customers find useful. Here is the first UI rendition of my theme: Here is the second theme derivative, based on the first theme effort (for various reasons this site is still in development): A shorter product listing that shows the various "status" details (drawn from keywords in the available_now/later variables): Out Of Stock (deny order), Out of Stock (allow order aka backorder), Available but Discontinued aka Out of Print, Coming Soon - essentially an Out of Stock (deny order) setting but keyed off of the available_later text. I was going to key this off of availability_date and allow_oosp, but opted for the keyword option instead because the available_later text can be overriden within the template file and that keyword can be seen in the back office as an indicator. Product Detail Page: I apply a "wrapper" class in an outer div at the head of the description to achieve this effect based on brand - not really fond of this particular one, but it is easily changeable in the custom.css file that gets loaded last (can't use autoload for this purpose) ensuring the custom theme at least has the chance to override most elements if you cannot get specificity on desired target elements.) I know others disagree with me on this approach, but it works well for me as the majority of what you see is because of the theme's custom.css file. Cart Pulldown: Checkout button turns to a lime racing green when hovered. Built in (but modified) One Page Checkout featuring stock status indicators: It is responsive and mobile "friendly", though there is still a bit of tweaking needed on some elements for mobile optimization, everything is functional on both an iPhone6 (very old phone) and a Motorola G 2024 (recently purchased) at this time. I haven't done a bunch of speed tests yet, but things are pretty snappy on a shared hosting account (used for development). I do plan to add a few other touches, like search results with icon image and some variation of the owl carousel (the homeslider module that ships with TB1.4 is atrocious). Side note: I also do not plan to port this to TB1.5 as that version is going off the rails from the original stated mission/purpose of the project (IMO) and I fear that it will ultimately be another Prestashop scenario for store owners and developers alike. My point in posting the visuals is so that folks can see the potential of the TB1.4 platform. It is substantially better than PS ever was but the same ills that befell PS seem to be creeping into TB - and while that is a sad situation - I cannot find a better open-source solution available at this time. Good Luck - I am open to helping others, provided you have a solid plan of what you want to achieve and at least some idea of how. PS: There is a security vulnerability in the header.tpl file of the 1.1.0 version of community theme - it has to do with the IE polyfill.io library. You can find more info here: polypill.io malware? - Technical help - thirty bees forum2 points
-
I would not mix WP with other websites on the same hosting or subfolder. If they hack your WP they will infect your thirty bees too. Not saying that thirty bees is 100% secure but it's exposure is much much smaller so less bad-actors play with it. Otherwise you can run it in subdomain, subfolder, any way you like. SEO-wise I don't think the juice will flow differently between both cases.2 points
-
I just ditched Storemanager... last straw was activation of my lifetime license was refused when I attempted to install it on a new (replacement) laptop. And I still have not forgotten the roughly week long outage a couple years ago from their licensing server going down. I came to also realize after that - that should I be without internet for an extended period, I would face the same licensing "shutdown" until I reconnected - so NOT independent as they claim. They swore to me that this would never happen when I purchased their highest dollar version, because I wanted POS capability as well. The theory is great, the implementation not so much. Lots of bugs (product position was one they never figured out for me, and when my support expired waiting on this bug fix, they demanded I pay renewal to get the bug fix - the first 3 of which did not work). Anyway, I was forced to ditch Storemanager because of being unable to reinstall on a replacement laptop (even though I had a 2 seat license) when the old C drive began having issues. I would love to see someone do a better job of creating a replacement for that software... but I won't be holding my breath. 😞2 points
-
2 points
-
To those that have started leaving reviews and taking the effort to help support ThirtyBees, from all of us here at ThirtyBees, a sincere and BIG thank you! You guys rock! 🥳2 points
-
Thank you for liking Prestools. I have uploaded a new version that may solve some of your problems. - stock is one of the optional extra fields that you can select. - I fixed one bug in products-sold, but as you didn't provide details I am not sure it is the one you meant.2 points
-
2 points
-
Ha, this works for bankwire, but not for stripe module. Probably bug, will look into that. Edit: bug in stripe module fixed by commit https://github.com/thirtybees/stripe/commit/a4dfcf933e5acab79a7ace3a416f65a898998bae. Will be part of the next module release.2 points
-
Vorweg, ich bin auf dem Gebiet kein Experte, aber ich nutze seid über 10 Jahren erfolgreich und zeitsparend für die EÜR das Programm TAXPOOL. Ich kann zum Beispiel mein Geschäftskonto (nutze AlfBanco zum Banking) in Taxpool importieren, wie auch PayPal. Taxpool kann alles und hat mit den besten support, den ich kenne, abgesehen von Datakick 🙂2 points
-
Native mollie modue is coming soon. It will have it's library dependencies namespaced / prefixed, so the problems I wrote above will not be present. The module is based on latest mollie version for prestashop backported to thirtybees - some functionality had to be stripped because they utilized ps17 features, but most of it survived.2 points
-
I've just officially released this module, you can find it here: https://store.getdatakick.com/en/modules/mail-queue This module requires thirty bees 1.5.0 or newer This thirty bees module can help you manage your outgoing emails easily. Instead of sending emails immediately, module will store them inside one of the mail queues. You can create rules to determine which queue will be selected for every email. Module cron job will later attempt to deliver emails from queues. This alone is a great performance improvement. Sending emails can take a lot of time. Because it is synchronous, it blocks response. By offloading this task from customer initiated request to backend thread, you will make your front office much faster. But there are other benefits of using mail queues: Failure recovery When attempt to send send email fails for any reasons, module will retry it later. Without mail queue moule, such failure would raise error/exception and would broke functionality. For example, email sending failure could block displaying order confirmation page, or processing payment. This will never happen again Email preview You can click on every email in your queues and see the content, download attachments, etc. You can easily see what will be, or what was actually sent to your customers. Sending delay You can specify initial delay -- minimum amount of time the email will sit inside the mail queue before module will attempt to deliver it. This can be useful, for example, to decouple emails - Order Confirmation and Bank wire payment emails are usually send together. You can create dedicated queue for bank wire payment email and delay these emails by few minutes. Manual moderation When you pause email queue, module cron will not send emails from that queue automatically. You can manually review all pending emails, and delete or send them. This can be useful tool to fight spam. You can create paused queue, and define conditions like "put email into this queue if it contains text 'online casino' or 'viagra'" Audit log You can set retention policy per queue. Sent emails can be immediately deleted from queue, or kept forever or for specified amount of days. Mass emailing Some modules can send many emails at once (for example email marketing modules). If implemented improperly, such task can timeout. With mail queues it will not, because saving emails locally is much faster than actually sending them. You can put hundreds or even a thousands of emails into the queue in one requests. Throttling You can set sending rate per queue, for example to send max 3 emails per hour. This can be useful -- sending many emails at once can put your domain on blacklist. By throttling outgoing emails you can prevent this Different email transports You can set different email transport for every queue. With this, you can use dedicated SMTP server for your transaction emails, and different one for you marketing emails. When your marketing emails are marked as spam, it will not have any impact on your transaction emails reputations.2 points
-
Thanks everyone that tested this version. Because no major issues were found, I've just released these changes officially as version 1.9.0.2 points