Jump to content
thirty bees forum

datakick

Administrators
  • Posts

    3,120
  • Joined

  • Last visited

  • Days Won

    486

Everything posted by datakick

  1. Fixed in community theme. Unfortunately this will not fix any theme based on community theme, ie. niara.
  2. Quite the opposite, actually. When we make a sale, we always have to make a snapshot of the base information (product price, name, tax settings, shipping settings, etc...) so we could work with the order/invoice later, even when these changed already. In other word -- when you change the product price or shipping settings, your current orders and invoices can't change. The big problem is that the bulk of the calculation is performed in Cart class, and then cart is just converted to Order. That works good for front-office, but it's a terrible situation for back-office. There are few things we can do: - duplicate the code from cart to order and adjust it. This is recipe for disaster, as we would end up with two similar implementations tackling the same problem - create new / temporary cart when modifying the order - this is how it's done now, at least for adding new products to order. While it may sound like a good idea, it's really not. Cart work against current state of the database, but that's not what we want when updating order. We want to use historical data (product price valid at the time when product was originally ordered), we don't want cart to check available quantities for some products, but we would like to check quantities for products newly added to order,... It became real messy very soon. The proper solution would be to extract the business logic from cart, and make it reusable by both cart and order. But that's very hard and dangerous refactoring. I don't think this will be tackled anytime soon
  3. How could that have any effect on sending, or delivering email? Worst case scenario - the email will contain order reference placeholder not substituted.
  4. To make it work, all you need to do is to delete this entry from configuration table: DELETE FROM tb_configuration WHERE name IN ('PS_STATS_GRID_RENDER', 'PS_STATS_RENDER') AND value = 'statsmodule'; The core code will be fixed in one of the upcoming version
  5. Reprosteps: Go to Statistics > Best categories During installation, statsmodule class is registered as default grid renderer. But this class does not implement hookGraphEngine. And it also does not extends ModuleGridEngineCore class as well, so it can't be used as a renderer at all. The fix should consist of: 1. fix the configuration key (drop it completely) 2. add additional checks to ModuleStatsCore::engineGrid to ensure grid engine implements hook,... or even better, drop this nonsense and call hook in standard way 3. add additional checks to ModuleStatsCore::createGrid to ensure grid engine implements ModuleGridEngineCore interface ... and the same for *Graph
  6. datakick

    Polyfil

    This js script makes sure that IntersectionObserver functionality can be used in all browsers, and not only by those that implements this natively. This way, tb code can use this functionality without fear that it will cause runtime errors in your browsers. In this case it's quite unnecessary, though. The polyfill is loaded by community-theme, but the only code using this functionality is located in back-office forms. So front theme does not help here at all. I suggest you to remove this from your theme header.tpl -- your shop will load a tiny bit faster.
  7. I don't think it's possible at the moment. Thirtybees sanitize html input and removes every weird markup, js, css,... You can create enhancement request on github for this, though
  8. Are you sure this product has associated review? Because it seems to be working correctly -- when I go to any product from all-reviews page: https://www.librairiezbookstore.com/en/reviews?module=revws Also, revws module can be set up to filter by current language. For the product above, there exists one review in French. When you see product in English, no review is shown. You can disable this in module settings page, and then reviews from all languages will be displayed.
  9. @DaoKakao you must be using old preview version. This module is now called coreupdater, and this line is no longer part of it
  10. Hi @rubben1985 First of all, thanks for your effort, it's really appreciated. Unfortunately, I don't think that these changes will make it into the sitemap module. Why not? Because it introduces explicit dependency between modules. With this change, sitemap module now *magically* knows how to access *stblog* module's data. But only *stblog*. if we install any other blog module, then its data won't be accessible. Moreover, these changes access stblog module tables directly. That's just wrong, because it hardcodes information about other module's table structure. What if the author of stblog module release new version with different table structure? Such change would break this integration, and possibly bring down the whole shop. We try hard to eliminate these kind of explicit dependencies from core, and core modules. And it's quite easy, that's what hooks are for. And sitemap module already executes hook named gSitemapAppendUrls. Any module that wants to append its data to generated xml file can register this hook, and use it to provide data during runtime. This is much safer. It is also standard hook (kind of). It's used by both sitemap and gsitemap modules, and it's already supported by number of blog (and other) modules. For example, standard tb blog module already uses this hook to provide data. I think the best way forward would be to contact stblog developer, and ask them to implement gSitemapAppendUrls hook. That will immediately make stblog module compatible with both sitemap and gsitemap modules, without any need for their modification.
  11. It's not that bad. You have probably installed some older module that overrides Link::getImageLink() method incorrectly. What you can do: 1. find out what module is responsible for this (you can install override check module to do that) 2. edit override file, and fix the method signature to match look like this: getImageLink($name, $ids, $type = NULL, $format = 'jpg', $highDpi = false) 3. if the override function calls parent::getImageLink(), then make sure you pass all the parameters That's it
  12. You are correct. Those modules were not marked as uninstalled, so thirtybees still think they are there and active. You can delete them directly from db, if you are not afraid. It's table tb_module. (and possibly tb_hook_module) It would be nice to have some consistency check for these system records.
  13. When you open javascript console, you'll find out this: Geocoding Service: This API project is not authorized to use this API. For more information on authentication and Google Maps JavaScript API services please see: https://developers.google.com/maps/documentation/javascript/get-api-key
  14. When some error occurs, thirtybees tries to log it into file. But in your case, because of incorrect directory permission, it's not able to create file in /usr/share/nginx/html/log/ directory, thus failing with this warning. And we don't know the root cause of this problem, because the original error is lost. So, first of all, fix the directory permissions so it's writable. Then test again, and let us know what error message appears in the error log.
  15. I believe this is fixed in upcoming version: https://github.com/thirtybees/thirtybees/commit/8e89acf9061e88bc106658891c8bd5abb83eeb9c#diff-f44483a142f09ca47bd59224eb070bfb
  16. In this case there's no hook available. The only way to disable this functionality is using override. Because this is thirtybees-only functionality, NONE of the existing seo module comes with such override. They don't need to, because ps16 does not have this feature. What that means for merchants? It means that in order to use any of these seo modules, they need to modify them first, and create php override file. Or manually create override file. Or modify core... Now, isn't it easier to simply turn this feature off, and then install module that do this particular thing better?
  17. It's simply not possible to implement feature like this and cover needs of every merchants. The default implementation is pretty solid, and meets the requirements of almost everybody. But then there are few use cases when it doesn't. I know about two already: - multistore / one store per language setup -- if we wanted to support this in the core then it would actually require quite complex configuration page, and that would definitely not make things easier to setup... and no, it's not really possible to resolve this automagically / algorithmically. Some user input is required here - custom canonical links / relations between different products - I remember there was some thread asking about this recently. Somebody wanted to group similar products under one canonical product umbrella to avoid duplicate content penalisation. Again, if we wanted to have this in core, it would require quite an extensive config page And I'm sure there are other scenarios when the default implementation just doesn't work out of the box. But what's worse, it actually blocks merchants from implementing alternative. When you install any seo module, you will get conflicting metadata in html markup, and that can actually hurt from the seo perspective. That's why it's definitely good to have an option to disable this default implementation.
  18. Third party modules, mostly. Since ps16 does not have this, there already exists many modules that implements this functionality, and then some. It makes sense for some merchants to turn the default implementation off, and use this 'advanced module' implementation instead. Anyway, I think it's a good strategy to have features hidden behind a switch (and they already usually are).
  19. I believe @lesley is planning to move away from patreon to some different solution. What exactly is not 'handy for business user' ?
  20. There are multiple commits [ 1 , 2 , 3 ]related to this, you'll need all 3. Then you get this:
  21. The fix for this, including new back office switch, is scheduled for the next release. @Smile there's no need to sponsor individual fixes, especially when they are trivial 🙂 But feel free to join patreon program (if you haven't already), that's always appreciated!
  22. The bug that was causing 500 error code was fixed, so Full Page cache should be usable in the upcoming version. Note that by default every hooks are non-cached, so when you turn it on, you might even experience some slowdown. To get the benefits of FPC, you will need to turn on caching for hooks that *you believe* should be cached. And this is the hard part -- nobody knows if the hook has some side effects other than rendering the output. If it has side effects, turning caching on will break stuff. So you need to be very careful, and test everything.
  23. Tracked here: https://github.com/thirtybees/thirtybees/issues/848
  24. It is a bug, but it's also very specific. You need to have multistore enabled, and distinct set of languages used by each stores. With this configuration, tb will indeed emit alt links for languages used in other stores. This should be fixed. Should thirtybees emit alt link for different store? That's questionable. Probably not, imho. While it would make sense for your specific use case, when you use multistore as a language selector, it would not work in general. Especially when stores have their own products. I also agree that there should be a switch to turn off this feature, and a hook to alter alt links just before they get rendered to the html.
×
×
  • Create New...