Jump to content
thirty bees forum

Leaderboard

Popular Content

Showing content with the highest reputation since 04/17/2025 in Posts

  1. 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
  2. Hi, I adapted Brevo's (Formerly SendInBlue) PS 1.7 version of their module to work on thirty bees and php 8.3. I didn't test on lower php versions, but it should work on php 8.0+ I believe. It connects and works and, for the price, they offer quite a bit of digital marketing functionality. Module is attached sendinblue_tb_v5.0.36.zip
    3 points
  3. We’ve seen similar PayPal-related issues before, especially when customers use privacy tools or open the payment link in another browser or device. Sometimes the order doesn’t register at all, or worse, duplicate payments occur. In our experience, the most effective approach was to implement metadata tagging — similar to what datakick suggested — and ensure PayPal webhooks are tightly synced with the order validation process on the platform. We’re currently running a tailored setup for one of our projects where metadata is saved before redirection and verified post-payment. That’s helped cut down these cases significantly. Happy to share more if someone’s interested.
    3 points
  4. I've added the option to set columns as hidden by default. When you create list column, you can pass 'hidden' => true, and thirtybees will not show it by default. Here's example: https://github.com/thirtybees/thirtybees/blob/f27320165d9e788af9f702af547adaaed6e0db90/controllers/admin/AdminOrdersController.php#L179 Once we implement list column customization, we will be able to show those default hidden columns, hide columns that are displayed by default, or even reorder columns in the list.
    2 points
  5. I am now on bleeding edge and php 8.4. My first impression is, that it works pretty well beside deprecation warnings. I will keep you updated 👍
    1 point
  6. Updated to fix abandon cart link generation issue with stock Brevo module.
    1 point
  7. This is a module I got the Copilot AI to create which exports products from a Thirty Bees store to a XML format that can be used to upload to Google Merchant center so they can be added to the shopping feed. The module extracts the following product details from a Thirty Bees store database: ✅ Product ID (<g:id>) ✅ Title (<g:title>) ✅ Short description (<g:description>) ✅ Product URL (<g:link>) ✅ Image URL (<g:image_link>) ✅ Price in store currency (<g:price>) ✅ Stock availability (<g:availability>) ✅ Product condition (<g:condition>) ✅ Brand (Manufacturer) (<g:brand>) ✅ MPN (Manufacturer Part Number) (<g:mpn>) ✅ GTIN (EAN or UPC if available) (<g:gtin>) ✅ Category name (<g:product_type>) These are far from the total number of field you can use with Google Merchant center but they include the minimum amount to get the product feed accepted. To install the module download the attachment exportgoogleshopping.zip from this post, and add a new module from your TB admin area and it will appear in the administration section when uploaded I created this module purely for my own personal use, but thought i would share it with the community for anyone else found it useful. It was my first time using AI to generate a module and I was suprised how well it managed to do it. But as i am not a developer I don't know if the code itself maybe buggy or insecure so if you are worried about that then maybe don't use it on a live store or uninstall it after you generated the XML file. I have tested it on both 1.5.1 and on 1.6.1 versions of TB and it worked OK on both for me, and the feed was accepted by Google Merchant center as valid. But I cannot offer any support for it should it not work for someone else or take any responsibility for any problems that might occur. I am happy if someone else wants to update and improve on this should module should they wish to. For those who might be interest in what prompts to give to an AI to generate a module like this one see below: "Create a Thirty Bees module that exports product data to an XML feed for Google Shopping. The module should include the following features: ✅ Manual XML generation via a "Generate XML" button in the back office ✅ Customizable title and description for the feed ✅ Dynamic price handling based on the store's default currency ✅ Stock availability pulled from the database (in_stock or out_of_stock) ✅ Condition extracted from the product's condition field (new, used, refurbished) ✅ Correct image retrieval using Product::getCover() ✅ Brand (manufacturer) added to <g:brand> if available ✅ MPN (manufacturer part number) added to <g:mpn> if available ✅ GTIN field dynamically populated with EAN or UPC if available ✅ Category assigned to <g:product_type> ✅ A "Return to Modules" button for navigation back after interaction ✅ Ensure clean XML output without empty fields ✅ Store feed file in a configurable location (default: /google_feed.xml) Include full module code in PHP that correctly integrates with Thirty Bees, following best practices for PrestaShop-based platforms. The module should be installable and configurable from the back office." exportgoogleshopping.zip
    1 point
  8. Sure, it make sense, but only after we add support for list column customization. Without it, there would be too much clutter.
    1 point
  9. Thanks you very much. It works now 👍 This feature will be so great, love it. Especially, if we can save presets. 🤩 As I had this functionality in mind too. I wonder about something. Why do you implement the new $this->filters_list? I wanted to add this functionality $this->fields_list, then I would also allow an employee to select the columns he wants to display. He could then save the columns and also filters. IMO this would help merchants to customize their list to their needs even further. They can just hide unnecessary stuff and as a dev we can add more columns, without having to think a lot about "is it too much". A module like orderlistcarriers would just be obsolete with a few lines of code. Also your example with the customer email would be good. Maybe some merchants would like to see in orders list!? I hope you get my proposal. Maybe I don't see the drawbacks!? 😊
    1 point
  10. Thanks everyone for testing. I've created the issues for those problems, and will make sure they are addressed before we merge this into bleeding edge. As we found out, the solution we implemented before was not good enough for all use cases. The virtual/dynamic attributes are fine in most cases, but sometimes we need even more flexibility. So we implemented yet another enhancement in this area -- full-fledged packs per combination. You can now choose between two different versions of packs Pack of existing products -- original implementation, when pack is defined on product lavel. You can use virtual/dynamic attributes here to tweak pack content using dynamic product attributes, as described in this thread above Pack of existing products - combinations -- new functionality. When you select this, you won't be able to define pack on product level, but you will have to define packs for every combination separately. This gives you great flexibility, as your combinations can have totally different/independent pack items. But obviously, it will be more complicated to set up, as you need to define pack content for every and each combinations. So choose this only when appropriate Pack content on combination level: This new functionality is in pack-combinations branch. If you can, please help us with testing once again.
    1 point
  11. Thanks for testing Yes, so far the values are saved in cookies. However, there is now an abstraction (ListViewStorage interface) that will make it possible to save filter values differently in the future. It's a todo task that I would like to implement soon. With this in place, cookies will be much smaller, and we will be able to implement additional features like saved filter presets. I think that will make this quite useful Thanks for bug report. I believe I have fixed this - could you please re-test on latest version of this branch? If you still get the error, please send me a controller class, so I can figure out what is wrong.
    1 point
  12. Da TB relativ einfach zu modifizieren ist sollte es weitaus weniger Probleme geben als bei verschachtelten Shops. Wer seinen Shop über Tap und hoch und runter bedienen kann ist schon fast dabei durch. Kontrastreiche Font Farben sind gegenläufig zu dem allgemeinen Händler Geschmack.
    1 point
  13. 1. In thirtybees you can add any currency as it is used in the world. 2. Thirtybees can be installed in any country in the world.
    1 point
  14. Ahhh... who is installing CMSes locally to test? 🙄 There are still plenty of PS1.6 users we should try and show them that thirty bees is the way forward. Those on 1.7 or later are lost cause, they would not want to hear about the platform ever again.
    1 point
  15. I installed Smarty v.4.5.5 on my thirtybees test version and enabled PHP 8.4 So far no critical error has occurred, but there are hundreds of deprecation warnings in the logs. But this solution adopted in Smarty actually heavily complicates the upgrade to PHP 8.4
    1 point
  16. The core is not yet php8.4 ready. We already fixes few issues, but there are still some to iron out. There is nothing braking, though - just a lot of new deprecation warnings, mostly related to "Implicitly nullable parameter types". PHP8.4 now complains when parameter with default null value is not marked so. All methods and function that look like public function func(string $test = null) must now have slightly different signature: public function func(?string $test = null) It's fairy easy to fix these warnings. There are even an automated scripts to do that across entire codebase. But obviously, we can't fix third party modules. I'm also a little bit worried about method overrides. I'm not sure how well PHP will take if the overridden method has slightly different signature.
    1 point
  17. @SmileDid you try to partner with Mollie ? Maybe the are willing to help funding the module. I know they also have a partnersnhip with Sylius and mollie is the 'official' payment module for Sylius
    1 point
  18. I had the same problem and found a solution. back office > advanced > Disable non thirty bees modules was turned-on after a previous problem
    1 point
  19. Unfortunately it won't be easy to upgrade smarty to newer versions easily. New versions of smarty raises a lot of new deprecation warnings when templates call php methods directly. We are now required to register all methods that are allowed to be called from smarty template. As you can imagine, that's something absolutely impossible for system like thirtybees/prestashop -- we simply don't have that information. For example, if some module template contains code like this: {if Configuration::get('PS_INVOICE')} <span>...</span> {/if} we would have to tell smarty engine that the method Configuration::get exists and can be called. In the near future, using that template without registering the method would cause runtime error. Because we are using templates from third party modules and themes, we simply don't know what methods are used. The only potential solution for us is to parse templates to collect list of all used methods so we could register them before template is used. While the parsing can be done only once (when template source changes), the registration of methods needs to be done on every render. That will cause quite a big performance impact - we need to load the info from somewhere and pass it to smarty engine. I don't understand why this change has been introduced, and I'm very unhappy about that. We will either have to keep using smarty 4.4.1 forever (which is not possible due to new php versions not supporting it). Or we will have to invest days or weeks of work to implement that stupid registration, just to get to the same point we are now.
    0 points
  20. I've been setting up a thirtybees site for some days now. Everything seems to be in working order, except when I try to make an account as a customer, I get an error in the browser. PHP, MySQL, and NGINX seem to be working fine. I couldn't find any errors in their respective logs (accessed by systemctl status, if that matters). Here's the relevant information: Server information Linux #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64 Server software version nginx/1.18.0 PHP version 8.2.22 Memory limit 128M Max execution time 30 MySQL version 10.6.18-MariaDB-0ubuntu0.22.04.1 MySQL server localhost MySQL name thirtybees MySQL user thirtybees Tables prefix tb_ MySQL engine InnoDB MySQL driver PDO Thirty bees version: 1.5.1 Thirty bees revision: 1.5.1 Build for PHP version: 8.2 Current theme in use Niara Your web browser Mozilla/5.0 (Windows NT 10.0; rv:128.0) Gecko/20100101 Firefox/128.0 Required parameters OK Optional parameters OK It seems to be a problem with loading pages that have an & in the URL. for example: http://exampleshop.com/index.php?controller=authentication&back=my-account doesn't work, but https://exampleshop.com/index.php?controller=authentication does work. Here is the Linked GitHub Issue: https://github.com/thirtybees/thirtybees/issues/1865
    0 points
×
×
  • Create New...