-
Posts
3,120 -
Joined
-
Last visited
-
Days Won
487
Content Type
Profiles
Forums
Gallery
Downloads
Articles
Store
Blogs
Everything posted by datakick
-
Neither of these messages are errors. They are merely notices without any impact on processing. Without an actual error message, nobody can help you. It might be. It might not. PayPal module tries to convert cart to an order. To do that it uses standard core functionality - PaymentModule::validateOrder method. This method triggers a lot of hooks that other modules can subscribe to. It's quite likely that some of these modules throws an exception that causes the validation process to fail. For example, there can be some module that synchronize data, sends an email, or whatnot. And I'm not even talking about overrides. Without error message we don't know what is wrong, and we can't even assign blame to a specific module (paypal). I know it's frustrating, but that's the way it is.
-
403 Error when attempting to save SEO & URLs Page
datakick replied to Obi's question in Technical help
This is not an application issue. Check your .htaccess or other server configuration. -
Couple of ways to achieve this. Easiest solution is to edit your theme/template and just add your css file in there. Of course, this will not survive the theme update other solution is to create a module, that registers displayHeader hook, and adds your custom css file. You will have to ensure your module is LAST in the position list (Modules & Services > Positions) create override for the FrontController::initContent method and do your preprocessing there I still think that the 'proximity rule' approach is not best way to handle this problem, as it does not really solves it. Your override *can* stop working when theme author changes html markup or specificity of css rules. So after any theme update you should check that all overrides still works. As an example, let's say that in version 1.0 of the theme the css file contains this rule: .btn { color: blue } You override it by .btn { color: red } This works, because of the proximity rule. Now, let's say that theme author, for some reason, changes theme css rule in version 2.0 to span.btn { color: blue } Now, your override will not work, because specificity of new css rule is higher than your override. So even though your rule is 'closer', it is not picked up, and you have to modify it anyway. From my point of view, overriding using proximity or higher specificity are basically the same. After all updates somebody have to check that rules still applies. That's why I don't see much sense in trying to 'bend' thirtybees core to include some css file as last. But it's your decision
-
I have a vague memory that something in this area was fixed for 1.4. I run my store on that version, and dashboard dates work fine for me. Just remember to select valid period, and the dates should change every day to match it.
-
css is all about specificity. Proximity is only relevant if multiple selectors have the same specificity level. Since your intent is to 'override' things, I suggest you explicitly increase specificity of your overrides. For example, if the selector in core css file you want to override is .btn.primary span { color: black; font-size: 2em; } then you can create override selector to change the color, you can add this to override file: .overridable .btn.primary span { color: red; } You will also have to add class='overridable' to the <body class='overridable'>. This way, you can actually toggle the class in <body> to see the impact of your overrides. Alternatively, you can do it without template modification, for example by body .btn.primary span { color: red; } But here you have no easy way to debug the overrides. If you want to depend on proximity (==order of css files), then you will indeed have to create a module to modify the css list.
-
I'm not sure what you are trying to achieve. If you just need a mechanism to include another css file, then simply put it inside your theme's /css/autoload directory
-
Combination link shows only product page default image in social links
datakick replied to Mark's question in Technical help
That functionality is not implemented in core at the moment. We actually have this on our todo list. It's not only facebook that has issues with this, this also prevents proper GMC links for combinations, reviews associated with specific combinations, etc... -
Combination link shows only product page default image in social links
datakick replied to Mark's question in Technical help
That's because the combination link is constructed using hash parameters instead of query parameters. Hash parameters are ignored by servers, browser actually never sends them. If the url looks like this: https://domain.com/en/category/product#attribute-color=blue Browser will send only request for https://domain.com/en/category/product , and server does not know about attribute-color. Currently, combination selection is done only in browser javascript code, on page load. And that is, of course, not performed by facebook crawler. Facebook sees only the default page, with default image and default combination. -
Can't see enlarged product picteres in backoffice
datakick replied to undecided's question in Technical help
403 is not 404. Looks like thirty bees generated the url correctly, but your server refused do return the content. Maybe some .htaccess rule or nginx settings blocks it. Or the file itself can have file permissions not accessible by your php or proxy server. Or it can be browser "security" extension, or whatnot. -
Can't see enlarged product picteres in backoffice
datakick replied to undecided's question in Technical help
Works fine for me on all sites I've tested. Look into network tab in your browser console to see the ajax response. That might help you figure out what is wrong -
Thanks for reporting this. Actually, this particular issue is already fixed, and will be part of the next version of paypal module, when released
-
it can be... a lot if things. I dont think this is application issue, looks like env misconfiguration problem. For example: https://hpduy17.wordpress.com/2019/01/29/deal-with-swift-transportexception-when-sending-gmail-from-laravel-application/
-
reusability, single point of configuration, browser compatibility, .... You can, of course, build your own theme with vanilla css.
-
You have override for Configuration class that changes the object model definition. Check the $definition static property in the override file, and adjust it to match the expected core definition
-
It must be in the core updater Database Schema. If not, please show screenshot, and also try to run this query: SHOW CREATE TABLE tb_feature;
-
probably store misconfiguration. Look into your db: select name, value from tb_configuration where name like 'PS_OS_%' This will show you mapping for hard-coded/build-in order states. In my case, it says that PS_OS_PAYMENT = 1 Modules and core will use order state with id 1 when the order is paid. Now check that this ID value matches the correct order state. In my case it matches, id 1 == Payment accepted. I assume in your case it will point to the wrong status. The fix is to update data in tb_configuration table.
-
ouch, it's a temp table, created specially for every request. That's gonna be hard to investigate. You will need to simulate the process of BlockLayered::getProductByFilters method. That's probably too advanced, though.
-
This sql takes the most time: SELECT SQL_NO_CACHE p.*, product_shop.*, product_shop.id_category_default, pl.*, image_shop. `id_image` id_image, il.legend, m.name manufacturer_name, product_attribute_shop.id_product_attribute id_product_attribute, DATEDIFF(product_shop. `date_add`, DATE_SUB("2022-09-28 00:00:00", INTERVAL 210 DAY)) > 0 AS new, stock.out_of_stock, IFNULL(stock.quantity, 0) AS quantity, product_attribute_shop.minimal_quantity AS product_attribute_minimal_quantity FROM tb_cat_filter_restriction cp LEFT JOIN `tb_product` p ON p. `id_product` = cp. `id_product` INNER JOIN tb_product_shop product_shop ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1) LEFT JOIN `tb_product_attribute_shop` product_attribute_shop ON (p. `id_product` = product_attribute_shop. `id_product` AND product_attribute_shop. `default_on` = 1 AND product_attribute_shop.id_shop = 1) LEFT JOIN tb_product_lang pl ON (pl.id_product = p.id_product AND pl.id_shop = 1 AND pl.id_lang = 1) LEFT JOIN `tb_image_shop` image_shop ON (image_shop. `id_product` = p. `id_product` AND image_shop.cover = 1 AND image_shop.id_shop = 1) LEFT JOIN `tb_image_lang` il ON (image_shop. `id_image` = il. `id_image` AND il. `id_lang` = 1) LEFT JOIN tb_manufacturer m ON (m.id_manufacturer = p.id_manufacturer) LEFT JOIN tb_stock_available stock ON (stock.id_product = p.id_product AND stock.id_product_attribute = 0 AND stock.id_shop = 1 AND stock.id_shop_group = 0) WHERE product_shop. `active` = 1 AND product_shop. `visibility` IN("both", "catalog") ORDER BY pl.name ASC, cp.id_product LIMIT 0, 60 You need to investigate why. You should connect to your database and execute the query manually. Look how many rows are in individual tables. use EXPLAIN sql command to figure out why the hell it takes so much time. There will be either data issue How many rows are in tb_cat_filter_restriction table? How many products do you have? Does it correlate with product_shop / product_lang table? or schema issue missing indexes, maybe Nobody without access to your db can help you more now.
-
Most of the time is spent on database queries. Look for the long running db queries.
-
edit this line https://github.com/mollie/PrestaShop1.6/blob/a6a4602d0901c050d509acc18664de2a1ea91e3b/src/Builder/FormBuilder.php#L15 and change it from use AttributeCore as Attribute; to use ProductAttribute as Attribute;
-
You should enable profiling, that will tell you the bottlenecks.
-
Indeed vies server is very unreliable. It often reply with transient error responses (like too many requests, try later), and sometimes with hard errors when their server just crashes. Current tb module handles these situation silently, with only a log entry inside Logs messages. Which can very easily lead to wrong taxes being applied and collected. What we want to do is extend current module, and implement retry mechanism. Basically, when we fail to validate VAT number during checkout (caused by server issue), we would move the order into some special order status (like Pending VAT number validation), and try later. Module would try to validate missing VAT numbers on regular basis, and switch order to either 'VAT Validation Failed' status, or to normal status like 'Payment Accepted' or 'Awaiting Bank Wire Transfer'. Employee would have to manually handle the 'VAT Validation Failed' situation -- adjust order, and optionally request payment for missing VAT amount. That's the plan. Now we need the time 🙂