Jump to content
thirty bees forum

datakick

Administrators
  • Posts

    3,035
  • Joined

  • Last visited

  • Days Won

    465

Everything posted by datakick

  1. Related discussion: https://github.com/thirtybees/thirtybees/issues/1157
  2. Try to disable Auto Format on the currency:
  3. You probably have some javascript error on your product page. Look into js console to find out more.
  4. @moaai the cause of the problem is that you choose wrong way to extend object metadata. If I understand correctly, you modify static product metadata definition inside constructor. That's really not ok. Instantiating object should not have side effects. If you depends on product constructor to change metadata, then we have following problem: echo Product::productFieldExists('my_custom_field'); // prints false $product = new Product(); echo Product::productFieldExists('my_custom_field'); // prints true In other words, system is aware of the custom field only after constructor is called. And this is a big problem that can cause a lot of issues. As an example, consider following two code snippets. Because of the side effect of constructor, both would behave very differently, even though they are both perfectly valid: $fields = $this->getDefinedFields('product'); $product = new Product($id); for ($field: $fields) { $output->addOutputField($field, $product); } $product = new Product($id); for ($field: $this->getDefinedFields('product')) { $output->addOutputField($field, $product); } My recommendation is for you to change your code. Unfortunately there is no easy way to extend object model definition (it will be soon, it's on my todo list). Meanwhile, I recommend you use solution #2 - to redefine "definition" variable in the child class.
  5. The check simply verifies that following conditions are met: return extension_loaded('bcmath') && function_exists('bcdiv'); So either bcmath extension is not loaded, or it does not expose bcdiv function. What PHP version are you using? What is the version of bcmath extension?
  6. datakick

    Demo site

    No problem at all. The actual update of the demo site(s) is trivial, thanks to core updater. The time consuming part is to figure out how to log in, how to manage the servers, etc. That's why some of the tasks take more time than it should. We also need to document all processes so we can do them much more faster next time. Or ideally automate them Anyway, both front and back servers have been updated now. Enjoy
  7. look at the image id -- 3616, and then construct path /img/p/<d1>/<d2>/...../id.jpg, where <d1> is first digit, <d2> is second digit, etc... For example: /store/img/p/3/6/1/6/3616.jpg
  8. Couple of thirtybees modules (paypal included) uses psr-0 autoload functionality, but with incorrect file structure. This was allowed in older version of composer (with warnings). Newer version of composers does not allow this, resulting in 500 error code. I have fixed the paypal module. Will have to go over other modules that uses composer autoload functionality and check if they work or not
  9. As I outlined in other post, the plan is to have 2 major release a year. We believe that this is the frequency that most merchants will find a-ok. Too many releases can be a big headache -- most merchants don't want to update their store every month or so. It can be dangerous, etc... However, 6 months is a long time to wait for a fix of a serious bug to be released. Therefore, we will have couple of bugfix releases as well. These releases will have a very limited scope, containing only a few code changes that fixes these serious bugs. It will contain only fixes that we understand very well, and we are 100% sure that they don't break anything. This should make updating to these bugfix releases very safe and simple. On production servers, most merchants should keep their store updated to the latest bugfix release, for stability and security reasons. On testing servers, it would be amazing if you would run on bleeding edge, as it would give us an early feedback, bug reports, etc. We will release updated version of core update soon -- this new version will make the whole update process more straightforward and easier to understand.
  10. Done, new version 3.2.0 has been released. You should see it in your back office https://github.com/thirtybees/advancedeucompliance/releases/tag/3.2.0
  11. Your home category have probably enabled option "Display products from subcategories"
  12. I'm very happy to announce that we have officially released thirtybees version 1.2.0. This version consists of a lot of enhancements and bug fixes that were implemented in the last (almost) 2 years, including stuff like: PHP 7.4 compatibility - this version is fully compatible with PHP 7.4 Object model audit - database and php model are now in sync. This fixes a lot of weird issues and problems Ability to auto migrate database during update - missing database tables and columns are automatically created by core updater Installation fixes - a lot of bugs were fixed in installation process. Installation should now run more smoother Bug fixes - many issues were solved and more... You can simply use core updater module to update to latest stable release. Or you can download installation package and install it on your test server. I will deploy this version to the official demo servers in upcoming days, so you will have an opportunity to test this version even without the need for installation.
  13. Nice work. I would just suggest you don't use check (70 == $idCarrier), because $idCarrier will change every time you save carrier in back office. It would be better to modify this check and base it on different information from $data, maybe carrier name or carrier reference id
  14. The reason for the delay was caused only by me only, and I apologise for it. The plan was for me to start working on thirtybees full time at the beginning of February. I used to work as an independent contractor for a big client in a bank industry, and I was contractually bound to deliver a lot of work for them. Since the team didn't meet the delivery timeline I was forced to work for them until the end of February. I officially ended that contract last Friday. So, finally, I'm free and able to work on this project 100%. Right now I'm working on initial release, it will be done by the end of this week, probably Thursday or Friday. And then there is a very big backlog of things waiting to be done.
  15. datakick

    Price update

    That is not a bug, it's expected and wanted behavior. Theme shows product unit price on product page. This price can be different for different combinations, it can be affected by quantity discounts, etc. Of course, you can edit theme, and change the behavior. In should be fairly easy modification of product.js file.
  16. datakick

    Price update

    You could achieve this by using combinations -- you could predefine combinations (1m^2, 5m^2), and each combination would have impact on price. Your customer would choose combination instead of quantity.
  17. You can modify the module, and save the information to the database, for example by using something like this: Configuration::updateGlobalValue('MY_CARRIER_DELAY', $webserviceResponse['delay']); And in override you can load this information back by calling $carrierDelay = Configuration::get('MY_CARRIER_DELAY'); $delay = [ 1 => $carrierDelay ]; Or something like that
  18. In general, you want to persist result of webservice call -- real delay value in override, read saved value You will probably also need to implement some cron job to periodically fetch delay value from webservice, unless the webservice is called on every page load of your checkout (which would be crazy performance bottlenect)
  19. Did you clear cloudflare cache?
  20. I doubt it's performance reason. Many ad blockers actually block google fonts. Also, it's not very GDPR friendly.
  21. That's just not possible 😉 The code specifically tests if the customer is quest, and if it is then it redirects to product page (if guest reviews are allowed). You either did not edit it correctly, or your server caches old php content. Another explanation is that isGuest() method returns false for guests (maybe some override), but that would be bizarre
  22. Are you testing this with 'Guest' or 'Customer' account?
  23. There is a bug in the module. It will be fixed in the next version. Meanwhile, edit file /controllers/front/EmailAction.php and modify method reviewProduct to look like this: private function reviewProduct(RevwsEmail $email) { $email->markClicked(); $productId = (int)$this->getValueOrThrow('product-id'); $this->autoLogin($email->getCustomer()); if ($this->context->customer->isGuest()) { if ($this->module->getSettings()->allowGuestReviews()) { $this->openProductUrl($productId, true); } else { $this->openMyReviewsUrl($productId); } } else { $this->openMyReviewsUrl($productId); } }
  24. If you have modified the email template, then re-download the module and copy email template from there. I'll look into this
  25. Unfortunately yes, there are a lot of these gotchas. I totally agree that themes shouldn't really do any business logic, but they do, due to historical reasons. This is especially true on product page, when there is a lot of javascript that deals with price, discounts, specific prices, quantity discounts, etc... What I plan to do is to implement theme independent javascript layer (managed by core) that theme developers could (and should) use. Theme will just listen to events, such as 'price changed', and react accordingly -- update relevant DOM nodes, etc. When user make some UI interaction, theme will simply fire event such as 'attributed changed' or 'quantity changed'. Core layer will recalculate the underlaying product model, and then fire events to let theme knows what changed.
×
×
  • Create New...