-
Posts
1,061 -
Joined
-
Last visited
-
Days Won
80
Content Type
Profiles
Forums
Gallery
Downloads
Articles
Store
Blogs
Everything posted by the.rampage.rado
-
use 'attachments' but without attached file - how?
the.rampage.rado replied to DRMasterChief's question in Technical help
What did the module developer said? My module works as expected without any modifications. -
Solved: Bleeding Edge BO Can't Close New Nag Boxes
the.rampage.rado replied to Rhapsody's topic in English
Click the last option and you wont see those for a month. I would not call them 'nag boxes' more like 'an open source project that probably makes you a decent amount of money needs your support' boxes. Do you like the facelift of BO that came with this change? -
-
Just a quick question - if you add your attributes in random order in BO so they look like this in Product->Attributes: You see them in FO ordered, right? EDIT: just tested a brand new install - yes, they are ordering in FO.
-
Thanks. I'll have to dig and find what have I done to mess this up.
-
Thanks for your reply! It does not sort them. They are displayed in the order I have added them to the product: I was under the impression that the drop-down is also sorted but no, when I add them assorted in BO, they appear assorted in FO.
-
Something that I think is working, of course not perfect as some things are done in js and not at backend but... Warehouse's product.tpl {elseif ($group.group_type == 'radio')} <div id="product-options"> {foreach from=$group.attributes key=id_attribute item=group_attribute} <input type="radio" id="attribute_{$id_attribute}" class="attribute_radio" name="{$groupName|escape:'html':'UTF-8'}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} hidden /> <label for="attribute_{$id_attribute}" class="btn {if $group.default == $id_attribute}active{/if}"> <span class="label-text">{$group_attribute|escape:'html':'UTF-8'}</span> </label> {/foreach} </div> {/if} css: /* Warehouse buttons css START */ /* Ensure buttons behave like inline blocks and center content */ #product-options .btn { display: inline-block; padding-left: 10px !important; padding-right: 10px !important; text-align: center; border: 1px solid #ccc; border-color: #ccc; background-color: white; color: #333; font-weight: normal; margin: 3px; min-width: 65px; white-space: nowrap; transition: background-color 0.3s ease; outline: none; box-shadow: none !important; } /* Style for the selected state (checked radio button) */ #product-options .btn.active { background-color: #55c65e; color: white; } /* Hover effect for inactive buttons */ #product-options .btn:hover { background-color: #d3d3d3; } /* Style the radio button (which is hidden) */ #product-options input[type="radio"] { position: absolute; opacity: 0; } /* Ensure uniform text size */ #product-options .btn .label-text { display: inline-block; width: 100%; text-align: center; } /* Warehouse buttons css END */ js: $(document).ready(function () { // Handling click events for selecting attributes $('#product-options .btn').on('click', function () { $(this).siblings('.btn').removeClass('active'); $(this).addClass('active'); $(this).prev('input[type="radio"]').prop('checked', true).trigger('change'); // Trigger PrestaShop's findCombination to update the combination details findCombination(); }); }); I would like to move the sorting to BO but for now it is what it is. EDIT: Corrected code as there was no need to reorder using js.
-
urgent No longer getting Order confirmation emails?
the.rampage.rado replied to bhtoys's question in Technical help
I asked if you have checked for core changes against 1.1 in core updater, i don't see if you did try to check that. Don't update, just check for changes. -
I've been playing around with this idea for 2 days. Up until now I've always used dropdowns for my size selections but I would like to make them buttons. Of course thirty bees does not offer such thing currently. I tried editing the radio button case in product.tpl to display bootstrap buttons and hide the circle. Some js, some css and it works for Niara: Product.tpl changes: {elseif ($group.group_type == 'radio')} <div id="product-options" class="btn-group" data-toggle="buttons"> {foreach from=$group.attributes key=id_attribute item=group_attribute} <label class="btn btn-outline-primary {if ($group.default == $id_attribute)} active{/if}" for="group_{$id_attribute}"> <input type="radio" id="group_{$id_attribute}" class="d-none" name="{$groupName|escape:'html':'UTF-8'}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} autocomplete="off"> {$group_attribute|escape:'html':'UTF-8'} </label> {/foreach} </div> {/if} Additional css in my example to make them 'table-like' (when I have mutliple sizes): /* Ensure buttons behave like inline blocks and center content */ #product-options .btn { display: inline-block; /* Inline block to align buttons horizontally */ padding-left: 10px !important; padding-right: 10px !important;/* Adjust padding as needed */ text-align: center; /* Center text horizontally */ border: 1px solid #ccc; /* Border style */ background-color: white; /* Background color */ color: #333; /* Text color */ border-radius: 3px; /* Rounded corners */ margin: 3px; /* Space between buttons */ min-width: 65px; /* Ensure minimum button width */ white-space: nowrap; /* Prevent text wrapping */ transition: background-color 0.3s ease; /* Smooth background transitions */ outline: none; /* Remove focus outline */ box-shadow: none !important; /* Remove any shadow */ } /* Style for the selected state (checked radio button) */ #product-options .btn.active { background-color: #43b775; /* Green background for active buttons */ color: white; /* White text for active buttons */ border-color: #ccc; /* Keep the border color unchanged */ box-shadow: none !important; /* Remove any box-shadow on active buttons */ } /* Hover effect for inactive buttons */ #product-options .btn:hover { background-color: #d3d3d3; /* Light grey background on hover */ color: #333; /* Keep the original text color on hover */ border-color: #ccc; /* Keep the same border color as unselected buttons */ box-shadow: none !important; /* Remove any box-shadow on hover */ } /* Remove the black frame (focus outline) */ #product-options .btn:focus, #product-options .btn:active { outline: none; /* Remove the black focus/active border */ box-shadow: none !important; /* Remove any shadow effect */ } /* Style the radio button (which is hidden) */ #product-options input[type="radio"] { position: absolute; opacity: 0; } /* Ensure uniform text size */ #product-options .btn .label-text { font-weight: bold; /* Bold text */ display: inline-block; width: 100%; text-align: center; } Additinal js to assign the selected button to the radio buttons and sort the buttons alphabetically (as they appear in the order they are created in BO, unlike with dropdown where it sorts them): document.addEventListener('DOMContentLoaded', function() { const productOptionsContainer = document.querySelector('#product-options'); if (productOptionsContainer) { const buttons = productOptionsContainer.querySelectorAll('.btn'); buttons.forEach(function(button) { button.addEventListener('click', function() { buttons.forEach(function(btn) { btn.classList.remove('active'); }); button.classList.add('active'); const radioInput = button.querySelector('input[type="radio"]'); if (radioInput) { radioInput.checked = true; // Manually trigger the combination update in Thirty Bees if (typeof findCombination === "function") { findCombination(); } } }); }); } }); document.addEventListener('DOMContentLoaded', function() { const productOptionsContainer = document.querySelector('#product-options'); if (productOptionsContainer) { const buttons = Array.from(productOptionsContainer.querySelectorAll('.btn')); // Get all buttons // Extract the text values and sort them numerically or alphabetically buttons.sort((a, b) => { let valueA = a.textContent.trim(); let valueB = b.textContent.trim(); // Convert to numbers if possible, else compare as strings if (!isNaN(valueA) && !isNaN(valueB)) { return parseFloat(valueA) - parseFloat(valueB); } else { return valueA.localeCompare(valueB); } }); // Clear the container and re-append sorted buttons productOptionsContainer.innerHTML = ''; buttons.forEach(button => productOptionsContainer.appendChild(button)); } }); The issue is that this change does not work with Warehouse theme, I'm unable to make the button change the active combination, also the sorting does not work. My questions are: 1. Which functions were changed for detecting the combinations in this section? Currently Warehouse's implementation only adds to the cart the default combination so the js I have here does not work. 2. Can we move the sorting in the core for radio buttons? Currently it's done with a js during the output. 3. Is somebody else interested in such development and migration of the community themes? Are there people that use radio buttons in their pages in 2024? If we implement something similar for FO, the BO should still refer to them as 'radio buttons' as this is interwoven in many many parts of the system. 4. Can this be pulled into a module that replaces this part of the theme so this module could be theme-agnostic? Something similar to https://addons.prestashop.com/it/combinazioni-personalizzazione/49820-product-combination-images-swatch-attributes.html but for the buttons. 5. Shopify has a nice functionality - Swatch King - if we can implement something similar it will be nice - https://apps.shopify.com/variant-swatch-king The PS module and this also implement color swatches for combinations. The color swatches per combination is also a nice feature to have.
-
The first module looks very promising. I see it is a Romanian developer. Do you know his/her name or company?
-
@30knees did you purchase some of the modules at the end? I'm looking for a module that have vouchers with discount and commission spread. I only find 2 such modules - one which costs around 300 Euro for multishop support and one from FME, a developer that even don't publish their company on their site, not to speak about few issues with their modules.
-
urgent No longer getting Order confirmation emails?
the.rampage.rado replied to bhtoys's question in Technical help
The community is small. We can not expect the same level of exposure to our issues as if it was the PS forum. By any chance somebody at your hosting 'took the liberty' to modify your files without telling you after this spam attack? In general those forms are used to attack 3rd parties - the bot inputs a 3rd party email as contact email and this is how they exploit your server spamming their email list. This of course plays badly with the email reputation of your host so they could take the liberty of simply disabling you form by commenting few lines. To check - can you try and update against version 1.1 and see if any files are changed? When checking check this on too in order to compare the template files also: Don't actually update just check if there are changed files, and if so copy the list here. -
I can imagine those changes are for one or two functions? If so - you can use some differencing tool to check your changes (if you've lost track of them) and then implement them in an override. ChatGPT will help you with that - it will create the override for you. Just don't forget about the overrides when something don't work as expected in future and first check without them! 🙂
-
urgent No longer getting Order confirmation emails?
the.rampage.rado replied to bhtoys's question in Technical help
Wow... 1.1 is ages old, like dynosaurs old. You SHOULD work with somebody and update your site if you can't do it by yourself. MANY (and I really mean MANY) bugs were fixed since then and also MANY security flaws were ironed out. It's a miracle that you have not been hacked. Please, check the following: Customers -> Contacts - there you should have at least one row in the table with your email set up. Otherwise the customers will not have an option in the dropdown. You have two contact options there so you will see two rows - both emails should be correct. I've just contacted you via the contact form. Did you receive it? -
urgent No longer getting Order confirmation emails?
the.rampage.rado replied to bhtoys's question in Technical help
There is no thirty bees version 1.6.7. The NEXT major version will be 1.6 and the most current stable version is 1.5.1. If you are on 1.4 email works in certain way. If you are on 1.5 few things changed so you need to check that and give correct info so we can help. The module can be downloaded from here https://github.com/eschiendorfer/genzo_turnstile/releases/tag/v.1.0.0 - the first file, instal as usual and you have to make free registration and setup with Cloudflare for their turnstile service. -
This polifill was flagged as malware by everybody because the domain that served it was overtaken by some hackers and they used it to distribute junk. There is no records that it was abused on any thirty bees / prestashop shops The both thirty bees themes were updated right after this was disclosed. No need to scan for anything. If you have some tool build into your hosting - you can use it. Otherwise don't worry. In order to be on schedule with thirty bees' development you can track code changes here: https://github.com/thirtybees You can also help develop the platform by submitting issues or enhancement ideas here: https://github.com/thirtybees/thirtybees/issues As you can see in GitHub the development is active and many bugs are fixed, many new features are active. I would suggest if you want your shop to be in best shape switch and update to edge (also for your community themes). Cheers! EDIT: Just saw that you replaced header.tpl form a backup - this will not solve your issue. This code was part of the theme for very long time, before the domain was overtaken by those Chinese hackers. Its usage was normal and it had purpose on very old IEs. You have to modify the file as described in the link above - just delete the lines in red.
- 1 reply
-
- 1
-
urgent No longer getting Order confirmation emails?
the.rampage.rado replied to bhtoys's question in Technical help
1. Anything in the server error log? 2. Anything in thirty bees log? 3. What version of thirty bees are you using? 4. If it's >=1.5 did you configure properly one of the email transport modules and did you assign its usage in Email settings? 5. Do you have Mail alerts module installed and properly configured with your email in it? In order to stop spam from your contact form use Cloudflare Turnstile v1.0.0 - by Emanuel Schiendorfer -
[solved] I can't get phpmail sending - host Hetzner
the.rampage.rado replied to Pedalman's question in Technical help
I forgot - did you succeed in making your system work with swiftmailer? -
use 'attachments' but without attached file - how?
the.rampage.rado replied to DRMasterChief's question in Technical help
Not exactly. All those modules create new tables and connect them with product ids, categories, etc. Their structure is pretty simple (shown in their pricing). If you want to duplicate 'description' tab half of the system will have to be rewritten. Just take one of those modules and use it. They in general are not very customer open - like they don't expect customer data input, files, etc. So it's harder for the module to be written in insecure way. Not a developer, just layman... 😞 -
Code changes needed so one country can be in multiple zones?
the.rampage.rado replied to 30knees's question in Technical help
Group as many countries in 'multi-country' zones, then put those that shift pricing in 'single-country' zones. I name them after the country so it's easier when editing the courier. When applying the price you can have the same price for one or more zones so the customer will not notice this separation. -
Code changes needed so one country can be in multiple zones?
the.rampage.rado replied to 30knees's question in Technical help
What are you trying to achieve? -
use 'attachments' but without attached file - how?
the.rampage.rado replied to DRMasterChief's question in Technical help
Sometimes I feel really sorry for smaller merchants located in Germany - so much hard legislation. I'm still to hear for a case where a merchant was fined about GDPR in Bulgaria. Cookies? What is this!? Just put some stupid banner and don't bother to check its functionality if it really blocks them. Regarding the quoted Article: Without being a lawyer I would do the following: 1. Make a nicely titled CMS page and attach it to footer - in there list all manufacturers' details in the EU. For products that your company imports in EU and there is no 'dedicated' EU distributor your company is responsible for those products as an importer. 2. (c) - you already have those in the product listing - name, image, reference number, etc. 3. (d) - I would put this short information at the end of Description tab - put all the information there and put a link to the CMS page containing general manufacturer contact information. Regarding the product information sent with the product - this should already be on your product if it complies with EU law and have some special requirements. -
use 'attachments' but without attached file - how?
the.rampage.rado replied to DRMasterChief's question in Technical help
Give more specific info about the information you want to display. I imagine you will format some text but do you need the same tab to be visible per product, or per category or you want every product to have separate 'unique' tab? Do you need manufacturer association?