-
Posts
3,123 -
Joined
-
Last visited
-
Days Won
488
Content Type
Profiles
Forums
Gallery
Downloads
Articles
Store
Blogs
Everything posted by datakick
-
Technically, it is a bug in the module. Module is calling Link::getImageLink method with wrong parameter. It passes array instead of string as image name. That is a bug - you should report this to module developer and ask them to fix it. This is most likely caused by loading Product instance in all-language context: $product = new Product(1); print_r($product->link_rewrite); This will display array of all link_rewrites in all languages. Module probably pass this link_rewrite to $link object If module loaded objet in single language context, it would work. Following code displays string $product = new Product(1, false, 1); print_r($product->link_rewrite); In 1.3.0, this invalid parameter was silently converted to string, and system returned image url like this: https://domain.com/111-Niara_home/Array.jpg Since image name is not important, it worked, and nobody probably reported this. In 1.4.0, there is new function in the pipeline that expects and accepts only string, and that now throws exception. While this is a bug in module, I think it's a good idea to support the old behaviour for some time as well. I have committed fix into bleeding edge that will convert input Array to string if needed, and it will also raise warning: https://github.com/thirtybees/thirtybees/commit/809f16c2fa318a981685ad20d5498b4971676ba1 You should: update to bleeding edge using core updater install collectlogs module use module, and then copy error messages from collectlogs and send them to module developer. That will help them to fix this faster
-
Themes should not be responsible for constructing paths to assets. That creates dependency, and only leads to issues like this - it is very to change asset location without breaking themes. Please use this instead: src="{$link->getMediaLink($slide.imageUrl)|escape:'htmlall':'UTF-8'}"
-
Works properly on my local environment, with both normal 5 step checkout and OPC. Tested on 1.3.0, 1.4.0, bleeding edge. Same behaviour.
-
Heads up for those of you who are running on bleeding edge. We just committed a big change -- removed swiftmailer library from the core. This php library for sending was quite outdated and is no longer supported. In new versions of php it raises a lot of warnings. It just had to go. Instead of deciding on another library to put as a dependency, we simply removed email sending functionality from core completely 🙂 To send emails, you will have to install some module that implements MailTransport interface. For backwards compatibility, we have released a brand new module tbswiftmailer that does exactly this, using that outdated library we have just ripped from the core. So, if you update to bleeding edge, and install the tbswiftmailer module, you should be in the same situation you are now. In the future, we will release a new mail transport library, that will implement sending emails using different third party library, probably symfony/mailer
-
You can add this to your theme css (or using back office Custom Code) .chex-edit { opacity: 1 !important; }
-
Tax calculator needs specific address, it is not based only on countries. For example in US sales tax can be different in different states/counties/cities/postcode ranges. Thirty bees actually displays price for selected delivery address. The problem is that in most cases the address is not selected before you go to checkout page. You can test it: go to checkout page, create new address for example in the US, and then go back to your catalog. You should see your prices displayed without tax. If you choose address in different EU country you should see prices for that country. We could make a module that would create 'dummy' addresses on the fly based on your geolocation (by default) allowed you to select your country in some select box on front office (explicit selection) and make sure that the dummy address is actually deleted before you go to checkout page I do something similar in chex module to determine final price.
-
In my opinion there have to be some sort of 'complete' button, otherwise different issues would occur. For example, removing product from cart by mistake. I can add some prominent 'Save changes' button that appears only when there are some modifications, but is has to be there.
-
gridhtml module is not compatible with thirty bees since version 1.0.4 - its functionality was merged into core. This module was probably uninstalled in the past, but was still present on filesystem in /modules/ directory. Unfortunately, thirty bees sometimes have to load and instantiate even non-installed modules. For example, when module's config.xml file is missing, or if language-specific version of this xml file is missing (config_cs.xml, config_nl.xml,....). This config.xml file is sort of a cache that contains basic information about module (name, description, author). When you open Modules page in admin, system opens all these config.xml files in order to display information about modules that are available on your system. If config file is missing in module directory, system have to instantiate the module and extract info from module instance properties. This is very stupid approach, and also very dangerous. Because it actually loads module main php file, and executes any executable code. The code may be malicious. In this case, the main module file contains class that can no longer be instantiated. Thus the exception. And it's also explains why store owner didn't encounter the issue -- they may use different language than you do. We know and track this issue. However, it's very hard to fix. The alternative is static analysis of module main php file during runtime. That is very, very complicated.
-
It's in because it is useful feature, and there is no security issue with it.
-
Not necessary on 1.4.0
-
Yes, the fix applies for any combination of customization fields.
-
what problem with attached picture?
-
Thanks for investigation, I've filed github issue for this: https://github.com/thirtybees/thirtybees/issues/1612
-
I've tested and indeed SQL generated by orders page was not properly validated. This is probably caused by recent update of SQL parser library, which now generate more verbose syntax tree. I've fixed the validation logic, so now (in bleeding edge) the order sql query can be validated and saved. If you find any other list sql queries that can't be processed by sql manager, please file issue on github. Provide full SQL that can't be processed.
-
Issue with a module under PHP 7.4 and TB 1.4
datakick replied to movieseals's question in Technical help
I don't think this is php7.3 vs php7.4 issue. More likely tb1.3 vs tb1.4 issue. In tb1.4 we no longer silently ignore invalid SQL queries, but we throw exceptions instead. This module generates and executes invalid SQL query. In tb1.3, line $totalAbandonedCart = Tools::displayPrice((float)Db::getInstance()->getValue($qr), $currency); would result with $totalAbandonedCart variable containing 0.0. The same result would be if you executed this: $totalAbandonedCart = Tools::displayPrice((float)Db::getInstance()->getValue("SELECT 1 FROM table_that_does_not_exists"), $currency); In TB1.4 this throws exception. There is obviously something fishy in the code, and we shouldn't try hide it. If you need previous functionality, you can enable it in Advanced Parameters > Performance. I strongly advice against that. You should contact module author and have this fixed instead. -
Yes, it is possible. However there is no step-by-step process that I can describe. Why do you insist on using php7.2?
-
How easy would it be to implement Cloudflare Turnstile free Captcha?
datakick replied to ukclearance's topic in Modules
When you download 'code' from gihub as zip file, and then extract it, it creates directory named after branch. In this case, the directory is 'genzo_turnstile-master'. You need to rename this directory to 'genzo_turnstile'. Then you can either zip this directory and upload it via back office, or you can upload this directly into /modules/ using ftp. -
Best solution would be to enable php7.4 on target server. If you can't do that, then you can use core updater on source server and update to codebase for PHP7.2, then copy that to your target server. Note that this can be done for 1.4.0. If you are on bleeding edge (1.5.0), php 7.2 is not supported anymore. Php 7.4 is lowest version
-
I'm not sure if the module is compatible with TB1.0.8. It is possible it uses some functions and methods that are available in newer version only. Anyway, it looks like problem is with module update. Have you tried uninstalling the module completely, and installing from scratch? That might work.
-
suggested database fixes after 1.4 upgrade
datakick replied to Beeta's question in Updating thirty bees
You can remove all except 'hover' -- that one is created by a module. I hate it when modules modify core database tables, but they do that sometimes. And thus making system more fragile and error-prone, specially when those columns do not have default values, are part of keys, etc. -
Consistency checks - Registered hooks are executable
datakick replied to Beeta's question in Technical help
It may or may not be bug in module. Usually, it's just some copy'n'paste issue, or forgotten piece of code. But I have seen modules that had spelling mistake in handler function, and therefore didn't work as designed. Fixing those spelling mistakes actually fixed some bug in the module (in this particular case, it was cache invalidation) In any case, module author should look at it. For core modules, we have already fixed most of these issues. For example, blockcategories is fixed in version 3.0.3 https://github.com/thirtybees/blockcategories/commit/f242b651ff078c1b69474f4a028fa2fe336fe695 -
Yes, that is the fallback mechanism, but that works for front office only. We will probably have to extend it to support back office image links as well -- those image urls can be relative, does not contain image types, etc. Maybe it will work without changes, I'm not sure.
-
Ftp to your server, edit file /themes/ptsvshop-template/modules/blockcart/dropdown.tpl and look for line {assign var='free_ship' value=count($cart->getDeliveryAddressesWithoutCarriers(true, $errors))} or something similar to it Change it to look like this: {assign var='free_ship' value=count($cart->getDeliveryAddressesWithoutCarriers(true))} What has to be changed is highlighted in the link I posted above.