-
Posts
3,036 -
Joined
-
Last visited
-
Days Won
465
Content Type
Profiles
Forums
Gallery
Downloads
Articles
Store
Blogs
Everything posted by datakick
-
Webservice - HTTP XML response is not parsable
datakick replied to israelans's question in Technical help
If you have debug mode enabled, then disable it and try again. It has the tendency to break json/xml responses because of display_errors php directive -
Don't do that, as system is not designed to share images. For example, when you delete product, all its images are deleted as well. If on of those images is shared with another product you would have a problem.
- 1 reply
-
- 1
-
The theme does not work without the Tools.php override. It throws Call to undefined method Tools::getProductsImgs() in product-list-item.tpl This method indeed does not exists in ToolsCore, so the theme should not depend on it. I suggest you remove this from the theme. The best way to provide this functionality might be dedicated module -- your theme could trigger hook to obtain product images, and this custom module would fulfil the request. If the module were missing, then the theme would fallback to standard rendering.
-
Url structure has changed, which means all inbound links, bookmarks, etc wont work anymore. SEO nightmare. For example, topic urls changed from forum.thirtybees.com/topic/id/friendly-url to forum.thirtybees.com/topic/id-id/friendly-url
-
Updater v.1.3.3 "thirty bees' caching features are disabled"
datakick replied to basix101's question in Updating thirty bees
This check has already been fixed If it shows this warning for you, it really means you have server cache enabled on your server. -
PayPal - Order confirmation page skipped, goes to order history
datakick replied to Janvier's question in Module help
Frankly I don't know. I remember there was a whole thread (https://forum.thirtybees.com/topic/1095/paypal-6-0-0-beta-the-final-push-for-victory) dedicated to paypal v6, but that seems to be deleted since. So that knowledge is gone forever. I could find only one bug on github regarding v6 (redundant api calls on every page). While that's unfortunate, it's not something that should prevent using that version of the module. But I'm sure there is the reason nobody is using it. But it would be great if we have those reasons tracked as github issues, otherwise we can never fix this. Here we need merchants help. Please test v6, if you can, and let us know what does not work. So we can finally resolve this paypal hell. -
PayPal - Order confirmation page skipped, goes to order history
datakick replied to Janvier's question in Module help
Oh, it's also necessary to change the next line $order = $params['order']; to $order = $params['objOrder']; Basically, the beginning of the hookPaymentReturn method should look like the highlighted code here -
PayPal - Order confirmation page skipped, goes to order history
datakick replied to Janvier's question in Module help
There's another bug in hookPaymentReturn. Edit file paypal.php, find method hookPaymentReturn and change the first line from if (!$this->active || !isset($params['order']) || !$params['order'] instanceof Order) { to if (!$this->active || !isset($params['objOrder']) || !$params['objOrder'] instanceof Order) { Note that all these fixes are already part of the paypal v6.0.0, see here What is the reason paypal 6.0 is not used yet? -
PayPal - Order confirmation page skipped, goes to order history
datakick replied to Janvier's question in Module help
Try to edit file /modules/paypal/controllers/front/expresscheckout.php and change line Tools::redirectLink($this->context->link->getPageLink('order-confirmation', true, '&id_cart='.$cart->id.'&id_module='.$this->module->id.'&key='.$customer->secure_key)); with Tools::redirectLink($this->context->link->getPageLink('order-confirmation', true, null, [ 'id_cart' => $cart->id, 'id_module' => $this->module->id, 'key' => $customer->secure_key ])); -
@musicmaster said in Smarty and PHP 7.2: I experience just the just those notices / deprecation warnings That is excellent news. That means that the debug mode is the only functionality I know of that is causing real problems on php 7.2. The rest of the core system and modules works just fine. Debug mode is the only reason why I suggest using php 7.1 at the moment. When debug mode is on, those deprecation warnings get mixed into html, or they are injected into ajax responses, and that causes problems. But notices and deprecation warnings themselves don't mean that the thirtybees (including current smarty lib) is not php 7.2 compatible. They are really just warnings, advising us that future php versions will have problems with our codebase. But because of terrible implementation of debug mode reporting, these warnings causes real issues right now. That's why I suggest we tackle debug mode first. Once we have that fixed, we can really advice merchants to use php 7.2, as the core code will be 100% compatible. And then, we can start work on php 7.3 compatibility. That will require fixing all those notices and warnings. We will need to update smarty library, or patch it as you suggested. But we don't have to rush that decision, because php 7.2 will be supported until Nov 2020.
-
@musicmaster said in Smarty and PHP 7.2: For me the main point is the PHP 7.1 recommendation. I don't believe that it is a good idea to recommend people at this point of time to start a webshop with that PHP version. Within a year many of them will be automatically upgraded by their hosting provider to PHP 7.2. And as many people apply code changes instead of overrides - so that they cannot easily upgrade TB - that means that quite a few people will have a serious problem. Starting a webshop based on PHP 7.1 at this point of time is just a bad idea. Unfortunately I don't see much of a sense of urgency on this forum to fix this issue. Do you experience any errors with php 7.2? Or is it just notices / deprecation warnings?
-
I think that thirtybees can't possibly release newest version of smarty for everyone in one big upgrade. That's just too dangerous. While we can fix tb core and modules to work with newest version, we can't guarantee the same for third party modules. So there's need to be some upgrade path. We should really decouple (some) libraries from core, and let merchants decide which version they would like to use. We could also let merchants to use different lib version in debug mode, so they could test the new versions without the stress. This is probably the safest way forward. TB should come with some sensible default version that works for majority of users. And once we have enough feedback from merchants that the newer version works fine, we can make it default for everyone (with option to downgrade). On related note: we should also fix the debug mode. As I understand it, this whole thread is mostly about the warnings and notices that get mixed within HTML (and more importantly JSON) responses. These makes the site unusable. If we overhaul debug mode reporting to something from this millenium, this whole class of problems will cease to exists.
-
I was able to reproduce this issue. Fix will be part of the upcoming version. https://github.com/thirtybees/thirtybees/commit/45fe39bf0b82aedf0e570263447c8fb7cc306a58
-
I finally get some time to test this, and must say I really like it so far. I've noticed that the module reports some files as obsolete, while they are not. Notably these config/settings.inc.php --- generated by system itself, it's not part of git. Crucial file, must never be removed config/settings.old.php --- contains saved version of settinsgs.inc.php whenever it gets regenerated config/defines_custom.inc.php --- this file exists so merchants can safely upgrade to newer version of thirtybees and keep their settings (dev mode, etc) mails/... --- not all mail templates are part of git, this dir should be ignored override/... --- this should be definitely ignored translations/... --- this should be definitely ignored themes/... --- themes should not be touched
-
I have seen few modules, for example this one, which contains code like this: php @ini_set('memory_limit', '1024M'); The intent of the developer was to increase memory limit, and it may work on some hostings with low memory settings. But if you have more than 1G of memory available you would never utilize it, as long as this module is installed and enabled. @Steve, maybe you have some gem like this installed on your server as well?
-
Need help - sql query to total stock of all attributes to the product
datakick replied to Chandra's topic in Tips and Tricks
One important note - previous query will zero out quantities for products without attributes. If you want to keep those intact, use this update: UPDATE tb_stock_available s1 SET s1.quantity = IFNULL(( SELECT SUM(quantity) FROM (SELECT * FROM tb_stock_available) s2 WHERE s2.id_product = s1.id_product AND s2.id_shop = s1.id_shop AND s2.id_product_attribute > 0 ), s1.quantity) WHERE s1.id_product_attribute = 0 -
Need help - sql query to total stock of all attributes to the product
datakick replied to Chandra's topic in Tips and Tricks
Try this one: sql UPDATE tb_stock_available s1 SET s1.quantity = IFNULL(( SELECT SUM(quantity) FROM (SELECT * FROM tb_stock_available) s2 WHERE s2.id_product = s1.id_product AND s2.id_shop = s1.id_shop AND s2.id_product_attribute > 0 ), 0) WHERE s1.id_product_attribute = 0 Because mysql do not support updates with subqueries based on the same table, we have to use the hack with inner (SELECT * FROM tb_stock_available). That will results in temporary table. Wonder why mysql won't do that itself... -
Error when opening any page TB 1.0.8 and Panda theme
datakick replied to piet's question in Bug Reports
This smarty variable overriding is very unfortunate. While it would be quite easy to prevent this in the core, it could mean compatibility issue (although in most cases it would actually fix the module interoperability problems). But we could, at least, detect and report this behaviour. -
I have just tested upcoming (not yet released) version of smarty 3.1.35, and there is only one compatibility problem I encountered and that's related to this issue: https://github.com/thirtybees/thirtybees/issues/617. Fortunately this issue can be fixed. But I'm also sure there will be more problems, as different themes and modules can use different smarty constructs. Here the help of community is needed. Merchants need to test their themes and modules on new environment and report the problems. TB developers can't fix problems they don't know about. For example, I have no idea why @musicmaster claims smarty 3.1.28 to be the last one usable. What problems did you encounter with higher versions? Are these errors reported and tracked as github issues?
-
I see not really an alternative to the kind of solution that I proposed in this post: keeping a compatible Smarty version (that means lower than 3.1.28 as far as I can see) and fixing it so that it runs under PHP 7.2. isn't it better to fix the newest smarty version instead?
-
Build-in debug mode is a very useful tool, but it's not recommended to turn it on in production because it can leak sensitive information about your website. This free module is here to help you with this shortcoming, as it allows you to enable debug mode only for specific sessions. This module creates secret url, and anyone who access your site via this url will browse with debug mode enabled. This way, you (or anyone you share this url with) will have access to debugging information, yet your normal visitors will not be affected. Download link
-
uff, you are running bleeding edge php version on non-supported operation system. That's a killer combination. Thirtybees is not yet even 100% compatible with php 7.2. I suggest you downgrade to 7.1 if possible
-
what's your php version?
-
@Traumflug how do you plan to tackle database migration? Say 1.0.9 will introduce new db column for table A, and foreign key to this column from table B. how will be these db changes created when migrated from 1.0.8 to 1.0.9? what happen when you downgrade from 1.0.9 to 1.0.8 what about order of modification (for example we need to drop constraint before we drop column itself)?
-
@rubben1985 these particular changes are fine. We don't know, of course, how does the external file look like. I really think that some module or vendor library introduces class named Validate, and that this class gets loaded at the very beginning of the request. That would prevent loading Validate core class, and results in this kind of error. Search for class Validate