Jump to content
thirty bees forum

the.rampage.rado

Silver member
  • Posts

    1,061
  • Joined

  • Last visited

  • Days Won

    80

Everything posted by the.rampage.rado

  1. @CoffeeGuy It should look something like that but with weight checkmark on top (mine is price): Each column is in your case different weight, the left most is your 'standard' shipping, for each column to the right you have to enter lower cost.
  2. In your Sitemap module you have to uncheck all types of pages that you want to show in the sitemap. Then regenerate the sitemap.
  3. Isn't this the code? /** * @param int|null $rootCategory * @param bool $idLang * @param bool $active * @param array|null $groups * @param bool $useShopRestriction * @param string $sqlFilter * @param string $sqlSort * @param string $sqlLimit * * @return array|null * * @throws PrestaShopDatabaseException * @throws PrestaShopException */ public static function getNestedCategories( $rootCategory = null, $idLang = false, $active = true, $groups = null, $useShopRestriction = true, $sqlFilter = '', $sqlSort = '', $sqlLimit = '' ) { if (isset($groups) && Group::isFeatureActive() && !is_array($groups)) { $groups = (array) $groups; } $cacheId = 'Category::getNestedCategories_'.md5( (int) $rootCategory.(int) $idLang.(int) $active.(int) $useShopRestriction .(isset($groups) && Group::isFeatureActive() ? implode('', $groups) : '') ); if (!Cache::isStored($cacheId)) { $result = Db::readOnly()->getArray( ' SELECT c.*, cl.* FROM `'._DB_PREFIX_.'category` c '.($useShopRestriction ? Shop::addSqlAssociation('category', 'c') : '').' LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON c.`id_category` = cl.`id_category`'.Shop::addSqlRestrictionOnLang('cl').' '.(isset($groups) && Group::isFeatureActive() ? 'LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON c.`id_category` = cg.`id_category`' : '').' '.(isset($rootCategory) ? 'RIGHT JOIN `'._DB_PREFIX_.'category` c2 ON c2.`id_category` = '.(int) $rootCategory.' AND c.`nleft` >= c2.`nleft` AND c.`nright` <= c2.`nright`' : '').' WHERE 1 '.$sqlFilter.' '.($idLang ? 'AND `id_lang` = '.(int) $idLang : '').' '.static::getActiveColumnCondition($active, $useShopRestriction).' '.(isset($groups) && Group::isFeatureActive() ? ' AND cg.`id_group` IN ('.implode(',', $groups).')' : '').' '.(!$idLang || (isset($groups) && Group::isFeatureActive()) ? ' GROUP BY c.`id_category`' : '').' '.($sqlSort != '' ? $sqlSort : ' ORDER BY c.`level_depth` ASC').' '.($sqlSort == '' && $useShopRestriction ? ', category_shop.`position` ASC' : '').' '.($sqlLimit != '' ? $sqlLimit : '') ); $categories = []; $buff = []; if (!isset($rootCategory)) { $rootCategory = Category::getRootCategory()->id; } foreach ($result as $row) { $current = &$buff[$row['id_category']]; $current = $row; if ($row['id_category'] == $rootCategory) { $categories[$row['id_category']] = &$current; } else { $buff[$row['id_parent']]['children'][$row['id_category']] = &$current; } } Cache::store($cacheId, $categories); } else { $categories = Cache::retrieve($cacheId); } return $categories; }
  4. I'm sure you didn't forget your cron?
  5. Could you post the settings here:
  6. Or the simple 'fix' - you can edit your currencies and simply add USD and MXN around $.
  7. Try the following override. Place it in override/classes folder then delete your cache/class_index.php Somebody should help with the product page as the code is hidden there and further fix is needed. Tools.php
  8. 1.3 will not run on php8.3 In fact even if thirty bees 1.5.1 manages to run on php 8.3 (not officially supported yet) your modules and theme will need some major rework. So I would advise to roll your server back to php 7.4, update to edge or stable 1.5.1 and fix all errors/warnings/notices in your Collect logs module. Only then you have a chance at 8.2 and can test it. Update through Core updater but use this table as a guideline: https://thirtybees.com/download-specific/ Also check this thread regarding the update to 1.5 and later as there are some changes and some easy actions you have to make:
  9. Currently you have some strange dot there. I suppose the template file is not edited?
  10. Could you PM me your site. In general - compare both breadcrumb.tpl files and only replace the functional part. You probably had some styling there too. I was under the impression that you also used WH and then it would be drop in replacement.
  11. I would like to display the FAQ snippets on another place because I added it to a section that is not visible in the design I use in the new shops I added later. Could we use something like that because it's not showing and I don't know if the code is wrong or? {if isset($id_shop) && $id_shop == 3} {hook h='displayFAQs' entityType='product' entityId=$product->id} {else} <p></p> {/if} EDIT: I made it work with different approach, instead of shop ID I detect the domain and as I only have one shop where the design is different I reversed the if clause: {if $smarty.server.HTTP_HOST|strstr:'domain.com'} {else} {* Default content if no domain match *} {hook h='displayFAQs' entityType='product' entityId=$product->id} {/if}
  12. If it says Microsoft it does not mean it's a Bing or MS service. It might be a machine hosted on their hosting. The same thing you can see with AWS or other known hosting companies. In any case the vast majority of bots you will catch will be from northern China provinces where they host their hacking.
  13. The name should be possible to be pulled and displayed in the theme as it's saved now. Another good enhancement would be the ability to 'group colors'. Something like: Group: Blue - sky blue, royal, brand1_blue, brand2_blue, some_other_blue., Yellow - sun_yellow, very_hot_lava_yellow, neon_yellow, solar_shine, White - cream, very_white, Green - light green, leaf green, dark green, etc. And then have those groups displayed in the layered navigation module for selection. That way the customer can search for all 'blue', 'red' or 'yellow' products despite that the majority of them use 'brand colors'. The two current workarounds are to have every product in generic color name and # or the layered filter to have hundreds of options showing only 2-3 products each. Of course this means a general rework of core, modules and theme.
  14. Make them 'virtual' product for the difference and make them pay for it. There's no way to lock the country if you offer international delivery.
  15. Yes. If you install this module again it will add new records.
  16. This is a short guide for those that are running their thirtybees on LiteSpeed servers. I'm running my shops on shared hosting. 1. First of all of course you have to have Litespeed server and paid license for the cache and enabled crawler (on the server side). If something is not working please contact your host and check if the crawler is enabled, etc. 2. Install the free Litespeed cache module. With it you will be able to configure various settings. Current version is 1.4.1 and it should work with thirtybees 1.5.1 with the following settings: (The module is written for PS of course and not as well supported as the one for Magento or WP but it is working fine as of now for thirtybees.) At this moment you can test if the LScache is working - open your FO and open certain page. If you load this page for first time the header for the generated html code should show "miss": After a page reload this should show hit: (How to check this: right click anywhere, click 'Inspect', go to 'Network', on the left tab scroll to the top and look for your generated page, click it and on the right side under Headers tab there should be lot of information, near the end of the first section you should find 'X-Litespeed-Cache:' which should be 'miss' or 'hit'. If you loaded the current page for the first time it should be showing 'miss', on reload it should show 'hit' and this means that your LSCache is configured and working properly) 3. Download the Litespeed LSCache crawler script. Place it in your website root (next to index.php). Some documentation for the plugin and the crawler can be found here . Make it executable with 0711 permissions. 4. You have to have your thirtybees Sitemap module installed and running. If you don't know how to configure it, just as in a comment and somebody will hop in to help, but the module is pretty self-explanatory. Generate your sitemap and leave this page open as you will need to copy the sitemap link. 5. As I said I'm using shared hosting so I go in my cPanel -> Cron jobs and make new entry with the following settings: public_html/cachecrawler.sh https://www.myshop.com/1_en_0_sitemap.xml and just for testing if everything is working you can run this job every 5 minutes (my shop with ~250 products takes ~120 seconds to crawl every page with default crawl interval). (Please note that bash should be installed and running to use this script.) 6. If you configured the cron to run every 5 minutes wait 2-3 more minutes and visit your shop again. This time open the Develpoer tools in advance and load any link that you know was not visited recently. If the crawler did its job there you should see direct 'hit'. 7. In order to troubleshoot the crawler it is recommended to take a look at the email that is sent after the cronjob is done. You can find information how to configure this online on many places. In this email you can see which pages are cached already so are skipped, which are caching, etc. 8. It is recommended to edit your cronjob and set it to run every 12 or 24 hours. And that's all, enjoy your faster first page loads! Troubleshooting (in addition to the one in the LSCache documentation page): 1. I'm using Warehouse theme and the module comes with preconfigured profile for it. If your cart module or any other acts funny you can play around with ESI hole punching - more info in the documentation. 2. If you are using Blackhole for bots module from DataKick please keep in mind that the server running the cronjob could end up in the blacklist if the Sitemap settings are not correct. And blacklisted folder should be excluded from the sitemap (I had problems with /modules/, exclude everything you don't need in the sitemap). If you are locked out you can delete the latest IP from the blackholeforbots table, regenerate the sitemap and test again. 3. If you're using URLs with accented characters (or Cyrillic letters as I'm) you have to use -e switch like so: public_html/cachecrawler.sh https://www.myshop.com/1_en_0_sitemap.xml -e Otherwise the crawler will ignore every accented character and will only crawl the first couple of pages of your sitemap. 4. If not every page is crawled because some of them are forbidden or not available the crawler script will stop after 15 such pages. In order to override this you have to edit it. Look for PROTECTOR='ON' in the very beginning and turn it OFF. In general this will not be needed but for troubleshooting together with Blackhole for Bots module it could be needed. 5. In general don't have pages in your sitemap that are blocked by robots.txt when you are using Blackhole for Bots module. 6. If you are using it as me and you are using Multistore be extra careful if you have removed all module pages from your sitemap (leaving reviews, etc front facing pages) PER SHOP as All Shops context currently does not affect the Per shop settings and you can end up with edge-case scenario with two different versions of your sitemaps depending if you manually generate them or leave the cron to do so. So as of today - make all Per shop settings in Sitemap comply with robots.txt too.
  17. It will delete those records from db too. The module you had 'forgot' to delete them.
  18. Unfortunately I found a UI bug with this approach, some dropdown menus hide right away after showing.
  19. Do you see those entries in Administration->Menus? If so you can delete from there.
  20. To be honest I don't know why they hardcoded this in this part of your theme/module. I'm not able to help with this one but probably you can contact the developer and check with them?
  21. With this specific weight string I'm pretty sure that there is misconfiguration on your side, could you double check the theme module that's responsible for the fonts?
  22. From what I can find online (and is not posted in 2012) and what I get from it is that woff2 is the only format we need currently as all modern browsers (mobile and desktop) support it. So I only load it locally. A nice read: https://stackoverflow.com/questions/75868078/what-are-the-possible-values-for-format-in-a-font-face-src A nice tool to download only the needed fonts and generate the code for them: https://gwfh.mranftl.com/ Regarding the font version - I think if you load only one version and stick to it it's OK, no need to load 2 or more versions as this might confuse (probably) different browsers to render your page differently if they fall back to one or another version and there are differences between them. (Let's say for Montserrat that I use, they have weight changes between versions). Also, if the tool for generating the code you use does not add it do so manually: font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ A statistic: https://caniuse.com/woff2
  23. This module called the Google server since it was published I think. As we're on the topic of loading fonts locally, what formats are you still loading in 2024? Only woff2 or all other in case a fallback is needed?
  24. Doubt such module would be free. Plenty if cheap and more expensive options for product customization.
×
×
  • Create New...