sfweb Posted June 28, 2017 Share Posted June 28, 2017 Hi,we used leo_xalem theme for our ecommerce, but we have a problem. When the prestashop cache is enabled we noticed that every 60 seconds the cached files are created again (in the path /cache/smarty/).The same does not happen with the default prestashop template.For instance: the file in the path/cache/smarty/cache/socialsharing/1488/1/3/3/10/86/fb/3a/86fb3aaf697b1d3a8c25d8285b85f4b22972068b.socialsharing.tpl.phpWith leo_xalem the file is recreated every 60 seconds, with default prestashop theme does not happen.To say this we see the "last modification time" of the file.The same happens for the other modules and files in the cache directory (/cache/smarty/).Where is the problem? It seems that the cache time in only 60 seconds when a leotheme is used. Link to comment Share on other sites More sharing options...
razaro Posted June 28, 2017 Share Posted June 28, 2017 You should contact Leo Themes as you have right for support for paid theme. Link to comment Share on other sites More sharing options...
sfweb Posted June 28, 2017 Author Share Posted June 28, 2017 We did that, but at the same time we ask for other help! 1 Link to comment Share on other sites More sharing options...
mehere Posted August 10, 2017 Share Posted August 10, 2017 Unfortunately they don't care much about performance....big problem and a real pity because their themes look great. Link to comment Share on other sites More sharing options...
Scully Posted August 10, 2017 Share Posted August 10, 2017 I have doubts the cache expiration is caused by a specific theme. Why ? A theme only calls predefined methods and functions from controllers or modules. And it's up to the controllers and modules how they handle cache expiration. As a cross check - did you try to install default-bootstrap theme and see if your cache expiration still goes on? If yes, the cause is outside of your theme. Link to comment Share on other sites More sharing options...
mehere Posted August 10, 2017 Share Posted August 10, 2017 The double check is the theme (not default) previously installed made my shop load in less than 7sec, now we're at 21 on first loading and 11 on repeated loading. I also checked through various toos and the culprit seems to be a .js and css files inside theme's cache folder. Same server, same conditions, only theme changed. Thanks for your opinions though! Link to comment Share on other sites More sharing options...
sfweb Posted August 10, 2017 Author Share Posted August 10, 2017 the problem is located in the apppagebuilder.php of module in this file is present the override of function isCached of class module. This override cause the problem. Link to comment Share on other sites More sharing options...
mehere Posted August 10, 2017 Share Posted August 10, 2017 Thanks for sharing this info! How to solve it then? Link to comment Share on other sites More sharing options...
Scully Posted August 11, 2017 Share Posted August 11, 2017 Unfortunately a common problem. The deeper and override hooks into the system the more likely it is, it causes unwanted side effects. Since we don't know what apppagebuilder.php does, it's difficult to guide you. Maybe have a look at this source code or post it here if it's not huge in size. Link to comment Share on other sites More sharing options...
mehere Posted August 11, 2017 Share Posted August 11, 2017 Thank you @skully! Actually I was hoping @sfweb knew the solution since he started the thread and knows the culprit 1 Link to comment Share on other sites More sharing options...
sfweb Posted August 11, 2017 Author Share Posted August 11, 2017 simply .... remove override function 'isCached' from apppagebuilder.php Link to comment Share on other sites More sharing options...
mehere Posted August 11, 2017 Share Posted August 11, 2017 Thank you @sfweb! Unfortunately I don't see such file neither in theme's folder or override folder...must be a different issue then :S Link to comment Share on other sites More sharing options...
Scully Posted August 11, 2017 Share Posted August 11, 2017 @mehere - can you post a link to your shop pls? Link to comment Share on other sites More sharing options...
mehere Posted August 12, 2017 Share Posted August 12, 2017 Sure. I tested this page for example: https://shop.socialbusinessworld.org/it/1229-il-mio-frutteto-biologico-edizioni-terra-nuova.html Webpagetest.org's waterfall shows /themes/leo_tea/cache/v_317_ffe54e684ad6de6cc60b022af43bdd69.js and /themes/leo_tea/fonts/ as very slow. There are other thing but even if I disable those other plugins (ie. livechat pro and cookie law), what makes the page slow for users seem to be the theme. Also Google's pagespeed Insights sees /themes/leo_tea/cache/v_748_39bfbdf9917de176816527ce6178e116_all.css as blocking rendering content above the fold fastly. What do you think? To add useful info, my server is very powerful, dedicated, 256MB RAM dedicated to the shop now, quad core 4GHz, SSD. Cheers PS to leotheme team if reading: I really love the look of your themes, this is not a complaint as already told you directly but IMHO the issue needs to be investigated and possibly solved. Link to comment Share on other sites More sharing options...
Scully Posted August 12, 2017 Share Posted August 12, 2017 (edited) Is the tested and above linked example YOUR page? If not: it wouln't help to since server settings and server performance is different from machine to machine. And: 256 MB of RAM isn't that much. We usually assign appx. 200 MB only for PHP. Basic requirements for operating system, MySQL database and buffer pools not included. Edited August 12, 2017 by Scully (see edit history) Link to comment Share on other sites More sharing options...
mehere Posted August 12, 2017 Share Posted August 12, 2017 Yes, that's my page and 256MB is for PHP only of course Link to comment Share on other sites More sharing options...
Scully Posted August 12, 2017 Share Posted August 12, 2017 I need 9 seconds to load all page content. Off this 9 seconds, the html only part needs 1 seconds (1000 ms). This is not superfast but still acceptable. What I also see: a module maybe called livechat pro is sending requests over an over in an endless loop.It's certainly slowing down your site. And I see javascript in total of appx. 1.6 MB. This looks like a really extreme value to me. Usually or sites load between 200 and 300 kb of javascript. Javascript is known as a speed braker, like CSS also. Finally this request is logged 2 times on my browser - I don't know why but it also dosen't make things faster: https://js.stripe.com/v2/ Link to comment Share on other sites More sharing options...
mehere Posted August 12, 2017 Share Posted August 12, 2017 Well, our tests are not so objective, we should always use external, throttable, services to see how our sites work. I'm sure you're in Europe, very fast connection and maybe already have cached something after first visit because on 1st load I have an average of 17secs from Europe (server also in Europe) and 9 secs on repeated view (probably the one you're experiencing). I agree on the js note, it's what I highlighted above /themes/leo_tea/cache/v_317_ffe54e684ad6de6cc60b022af43bdd69.js As for livechat pro, as I said, even if it is disabled, the results are the same (few ms less). It's a chat addon sending requests regularly. As for Stripe, it's the official addon on PS marketplace. So, I'm really convinced that the .js and .css in theme's cache are the ones slowing down the site. Cheers and big thanks for trying to help! Link to comment Share on other sites More sharing options...
Scully Posted August 12, 2017 Share Posted August 12, 2017 (edited) Yes, I am sitting in Europe. My connecton speed is average. And i tested without complete empty cache - always! What the number and size of javascript concerns: disabling might not help. I think you would rather uninstall modules you don't need urgently. And as one more example - this file adds 500 kb for javascript only. This is huge! https://shop.socialbusinessworld.org/modules/livechatpro/views/js/lcp.js In my conclusion, some of the heavier effects are not related to the theme. Edited August 12, 2017 by Scully (see edit history) Link to comment Share on other sites More sharing options...
mehere Posted August 12, 2017 Share Posted August 12, 2017 I wonder what "average" connection means to you . As for js...I still think the following file does not help at all (regarding speed of course ), it's bigger than the one you mention (not compressed, like the one you pointed out)...and theme's: URL:/themes/leo_tea/cache/v_323_ffe54e684ad6de6cc60b022af43bdd69.jsLoaded By: /it/1229-il-mio-frutteto-biologico-edizioni-terra-nuova.html:13Error/Status Code: 200Priority: MediumTime to First Byte: 103 msContent Download: 5727 msBytes In (downloaded): 196.7 KBUncompressed Size: 711.6 KBBytes Out (uploaded): 0.4 KB Link to comment Share on other sites More sharing options...
Scully Posted August 12, 2017 Share Posted August 12, 2017 Average means 20 MBit. And in terms of performance it's usually not the clients bandwidth which is the limit. It's the server! I don't know what this js does or why it is this large. It would be a huge effort to figure all this out. Link to comment Share on other sites More sharing options...
mehere Posted August 12, 2017 Share Posted August 12, 2017 Yep, thanks Link to comment Share on other sites More sharing options...
mehere Posted August 23, 2017 Share Posted August 23, 2017 For future reference: I have done many tests and disabled all other plugins which could cause the issue (including live chat pro) but the problem is definitely the theme with the following file as per above comments and details. Unfortunately theme devs do not want to take into consideration the issue...and are starting to be rude which I really feel sad about because I am and always will be a kind person respecting others, especially others' work. URL: MYSITE/themes/leo_tea/cache/v_326_ff9a75a59da264a762e1a7972ac33a8f.jsLoaded By: (PRODUCT PAGE)Error/Status Code: 200Priority: MediumTime to First Byte: 118 msContent Download: 5203 ms <<<--------- NoteBytes In (downloaded): 199.7 KBUncompressed Size: 721.0 KB <<<--------- NoteBytes Out (uploaded): 0.5 KB Link to comment Share on other sites More sharing options...
Scully Posted August 23, 2017 Share Posted August 23, 2017 (edited) Your XXL - javascript file is only one problem. However I note around 100 to 200 ms to download this exact file. The first problem is the size of the file in terms of large code which is executed on the clients browser. Usually larger code does not perform quicker. It is parsed by thw browse and the larger it is, the more parsing must be performed. What we don't know at all at this time. Does this XXL - javascript only come from the theme or a lot of added modules? I assue both is the case. We could see more if you would disalbe CC cache for both: javascript and CSS files. The second problem I assume is the number of modules, external ressources and images you are using. I see popups, sliders, tracking services, facebook tracking, special fonts. All this adds to processing time and needs external resources. Only looking at your main menu - you have douzends of icons there. When I open any submenu my eyes get confused. And last but not least: You have an overall size of the start page of 3.5 mb. At the end I noticed total load time of between 20 and 45 seconds. We have typically only 1 mb for the start pages and they are fully loaded in typically 0.5 to 1 second. My conclusion Most likely it's partially a problem of the theme. And the other part of the problem is the setup you have choosen maybe also no a not very performing server. Edited August 23, 2017 by Scully (see edit history) Link to comment Share on other sites More sharing options...
mehere Posted August 23, 2017 Share Posted August 23, 2017 Thanks again for your time @skully! I understand all points but please be sure we're on a very powerful dedicated server as mentioned before. However, Content Download: 5203 ms <<<--------- Note refers only to that js file, how comes you only see 100/200ms? Maybe here we have some different reading of the problem (webpagetest.org). Thanks again! Link to comment Share on other sites More sharing options...
mehere Posted August 23, 2017 Share Posted August 23, 2017 Edit: @Scully Link to comment Share on other sites More sharing options...
ricardo21ferreira Posted January 26, 2018 Share Posted January 26, 2018 Hi, have you solved the problem regading the function isCached from apppagebuilder . i'm having the same issue.. thanks! Link to comment Share on other sites More sharing options...
mehere Posted January 26, 2018 Share Posted January 26, 2018 Not really but I suggest you this reading https://canonicalized.com/prestashop-speed-optimization/ Cheers Link to comment Share on other sites More sharing options...
ricardo21ferreira Posted January 26, 2018 Share Posted January 26, 2018 (edited) thanks @mehere i kind of solved .. i create my own cache system in php to cache the displayHome, menus, etc.. (my logic is first person visiting the shop every day rebuilds my cache). from more than 15 seconds (on server loading) -> to 1.1 seconds. from more than 5000 queries -> to 200 queries. life is beatifull now . Thank you all to pointing me to the cause of the problem. Edited February 5, 2018 by ricardo21ferreira (see edit history) 1 Link to comment Share on other sites More sharing options...
dolceremy Posted June 19, 2019 Share Posted June 19, 2019 On 1/26/2018 at 7:31 PM, ricardo21ferreira said: thanks @mehere i kind of solved .. i create my own cache system in php to cache the displayHome, menus, etc.. (my logic is first person visiting the shop every day rebuilds my cache). from more than 15 seconds (on server loading) -> to 1.1 seconds. from more than 5000 queries -> to 200 queries. life is beatifull now . Thank you all to pointing me to the cause of the problem. can you share your solution? Link to comment Share on other sites More sharing options...
Mindz Posted November 27, 2019 Share Posted November 27, 2019 On 6/19/2019 at 3:16 PM, dolceremy said: can you share your solution? Yes, please can you share your solution?? Thank you Link to comment Share on other sites More sharing options...
Romeo.Tran Posted December 14, 2019 Share Posted December 14, 2019 Hi all. I update ap page builder to 2.2.8 I fixed speed function we have to override cacheid function protected function getCacheId($hookName = null, $shortcode_key = null) { $cache_array = array(); //if call function from shortcode return cache of shortcode if ($shortcode_key) { $cache_array[] = 'shortcodekey_'.$shortcode_key; } else { //process nomal cache for each hook //create folder cache for each home by id or buy home name $cache_array[] = $this->profile_data['id_appagebuilder_profiles']; //set cache for each hook in profile $cache_array[] = $hookName; //kiem tra xem module confg if ($this->profile_param && isset($this->profile_param[$hookName]) && $this->profile_param[$hookName]) { $current_page = apPageHelper::getPageName(); $iscached = 0; //check cache in sub page if (($current_page == "category" || $current_page == 'product')) { if (isset($this->profile_param[$hookName]['nocategory'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['nocategory'])) { $cache_array[] = Tools::getValue('id_category'); $iscached = 1; } } if (isset($this->profile_param[$hookName]['nocategoryproduct'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['nocategoryproduct'])) { $cache_array[] = Tools::getValue('id_category'); $iscached = 1; } } if (!$iscached && $current_page == "category" && isset($this->profile_param[$hookName]['categoryproduct'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['categoryproduct'])) { $cache_array[] = Tools::getValue('id_category'); $iscached = 1; } } if (!$iscached && $current_page == "category" && isset($this->profile_param[$hookName]['categoryproductmain'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['categoryproductmain'])) { $cache_array[] = Tools::getValue('id_category'); $iscached = 1; } } //product in no category if (!$iscached && $current_page == "product" && isset($this->profile_param[$hookName]['nocategoryproduct'])) { $procate = Product::getProductCategoriesFull(Tools::getValue('id_product')); $procheck = 0; foreach ($procate as $proc) { if (in_array($proc['id_category'], $this->profile_param[$hookName]['nocategoryproduct'])) { $procheck = 1; } } if ($procheck == 1) { $cache_array[] = 'product_'.Tools::getValue('id_product'); $iscached = 1; } } //product in category if (!$iscached && $current_page == "product" && isset($this->profile_param[$hookName]['categoryproduct'])) { $procate = Product::getProductCategoriesFull(Tools::getValue('id_product')); $procheck = 0; foreach ($procate as $proc) { if (in_array($proc['id_category'], $this->profile_param[$hookName]['categoryproduct'])) { $procheck = 1; } } if ($procheck == 1) { $cache_array[] = 'product_'.Tools::getValue('id_product'); $iscached = 1; } } //product in main category if (!$iscached && $current_page == "product" && isset($this->profile_param[$hookName]['categoryproduct'])) { $procate = new Product(Tools::getValue('id_product')); if (in_array($procate['id_category_default'], $this->profile_param[$hookName]['categoryproduct'])) { $cache_array[] = 'product_'.Tools::getValue('id_product'); $iscached = 1; } } } //cache big page if (!$iscached && isset($this->profile_param[$hookName][$current_page])) { $cache_array[] = $current_page; $iscached = 1; } //cache big page not show if (!$iscached && isset($this->profile_param[$hookName]['exception']) && in_array($cache_array, $this->profile_param[$hookName]['exception'])) { //show but not in controller $cache_array[] = $current_page; $iscached = 1; } //random in product carousel if (isset($this->profile_param[$hookName]['productCarousel'])) { $random = round(rand(1, max(Configuration::get('APPAGEBUILDER_PRODUCT_MAX_RANDOM'), 1))); $cache_array[] = "p_carousel_$random"; } if (isset($this->profile_param[$hookName][$current_page])) { $cache_array[] = $current_page; if ($current_page != 'index' && $cache_id = ApPageSetting::getControllerId($current_page, $this->profile_param[$hookName][$current_page])) { $cache_array[] = $cache_id; } } else if (isset($this->profile_param[$hookName]['nocategory']) || isset($this->profile_param[$hookName]['categoryproduct'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['nocategory'])) { $cache_array[] = Tools::getValue('id_category'); } } else if (isset($this->profile_param[$hookName]['categoryproduct']) && ($current_page == "category" || $current_page == 'product')) { if ($current_page == 'category') { if (!ApPageSetting::getControllerId($current_page, $this->profile_param[$hookName]['categoryproduct'])) { $cache_array[] = Tools::getValue('id_category'); } } else { $procate = Product::getProductCategoriesFull(Tools::getValue('id_product')); $procheck = 0; foreach ($procate as $proc) { if (in_array($proc['id_category'], $this->profile_param[$hookName]['categoryproduct'])) { $procheck = 1; } } if ($procheck == 0) { $cache_array[] = Tools::getValue('id_product'); } } } } if (Tools::getValue('plist_key')&& Tools::getIsset('leopanelchange')) { $cache_array[] = 'plist_key_'.Tools::getValue('plist_key'); } if (Tools::getValue('header') && Tools::getIsset('leopanelchange') && (in_array($hookName, ApPageSetting::getHook('header')) || $hookName == 'pagebuilderConfig|header')) { $cache_array[] = 'header_'.Tools::getValue('header'); } if (Tools::getValue('content')&& Tools::getIsset('leopanelchange') && (in_array($hookName, ApPageSetting::getHook('content')) || $hookName == 'pagebuilderConfig|content')) { $cache_array[] = 'content_'.Tools::getValue('content'); } if (Tools::getValue('product')&& Tools::getIsset('leopanelchange') && (in_array($hookName, ApPageSetting::getHook('product')) || $hookName == 'pagebuilderConfig|product')) { $cache_array[] = 'product_'.Tools::getValue('product'); } if (Tools::getValue('footer') && Tools::getIsset('leopanelchange') && (in_array($hookName, ApPageSetting::getHook('footer')) || $hookName == 'pagebuilderConfig|footer')) { $cache_array[] = 'footer_'.Tools::getValue('footer'); } } return parent::getCacheId().'|'.implode('|', $cache_array); } You can see, my module have function for landing page: - you can create landing page with my module with profile function, so in home page content hook will have diffirent content. - random product in carousel - you can create block for category and product only - other thing you can use shortcode. Many function in my module. currently, i can confirm we imporvement speed of module Link to comment Share on other sites More sharing options...
dolceremy Posted December 16, 2019 Share Posted December 16, 2019 On 12/14/2019 at 2:36 AM, Romeo.Tran said: Hi all. I update ap page builder to 2.2.8 I fixed speed function we have to override cacheid function protected function getCacheId($hookName = null, $shortcode_key = null) { $cache_array = array(); //if call function from shortcode return cache of shortcode if ($shortcode_key) { $cache_array[] = 'shortcodekey_'.$shortcode_key; } else { //process nomal cache for each hook //create folder cache for each home by id or buy home name $cache_array[] = $this->profile_data['id_appagebuilder_profiles']; //set cache for each hook in profile $cache_array[] = $hookName; //kiem tra xem module confg if ($this->profile_param && isset($this->profile_param[$hookName]) && $this->profile_param[$hookName]) { $current_page = apPageHelper::getPageName(); $iscached = 0; //check cache in sub page if (($current_page == "category" || $current_page == 'product')) { if (isset($this->profile_param[$hookName]['nocategory'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['nocategory'])) { $cache_array[] = Tools::getValue('id_category'); $iscached = 1; } } if (isset($this->profile_param[$hookName]['nocategoryproduct'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['nocategoryproduct'])) { $cache_array[] = Tools::getValue('id_category'); $iscached = 1; } } if (!$iscached && $current_page == "category" && isset($this->profile_param[$hookName]['categoryproduct'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['categoryproduct'])) { $cache_array[] = Tools::getValue('id_category'); $iscached = 1; } } if (!$iscached && $current_page == "category" && isset($this->profile_param[$hookName]['categoryproductmain'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['categoryproductmain'])) { $cache_array[] = Tools::getValue('id_category'); $iscached = 1; } } //product in no category if (!$iscached && $current_page == "product" && isset($this->profile_param[$hookName]['nocategoryproduct'])) { $procate = Product::getProductCategoriesFull(Tools::getValue('id_product')); $procheck = 0; foreach ($procate as $proc) { if (in_array($proc['id_category'], $this->profile_param[$hookName]['nocategoryproduct'])) { $procheck = 1; } } if ($procheck == 1) { $cache_array[] = 'product_'.Tools::getValue('id_product'); $iscached = 1; } } //product in category if (!$iscached && $current_page == "product" && isset($this->profile_param[$hookName]['categoryproduct'])) { $procate = Product::getProductCategoriesFull(Tools::getValue('id_product')); $procheck = 0; foreach ($procate as $proc) { if (in_array($proc['id_category'], $this->profile_param[$hookName]['categoryproduct'])) { $procheck = 1; } } if ($procheck == 1) { $cache_array[] = 'product_'.Tools::getValue('id_product'); $iscached = 1; } } //product in main category if (!$iscached && $current_page == "product" && isset($this->profile_param[$hookName]['categoryproduct'])) { $procate = new Product(Tools::getValue('id_product')); if (in_array($procate['id_category_default'], $this->profile_param[$hookName]['categoryproduct'])) { $cache_array[] = 'product_'.Tools::getValue('id_product'); $iscached = 1; } } } //cache big page if (!$iscached && isset($this->profile_param[$hookName][$current_page])) { $cache_array[] = $current_page; $iscached = 1; } //cache big page not show if (!$iscached && isset($this->profile_param[$hookName]['exception']) && in_array($cache_array, $this->profile_param[$hookName]['exception'])) { //show but not in controller $cache_array[] = $current_page; $iscached = 1; } //random in product carousel if (isset($this->profile_param[$hookName]['productCarousel'])) { $random = round(rand(1, max(Configuration::get('APPAGEBUILDER_PRODUCT_MAX_RANDOM'), 1))); $cache_array[] = "p_carousel_$random"; } if (isset($this->profile_param[$hookName][$current_page])) { $cache_array[] = $current_page; if ($current_page != 'index' && $cache_id = ApPageSetting::getControllerId($current_page, $this->profile_param[$hookName][$current_page])) { $cache_array[] = $cache_id; } } else if (isset($this->profile_param[$hookName]['nocategory']) || isset($this->profile_param[$hookName]['categoryproduct'])) { if (in_array(Tools::getValue('id_category'), $this->profile_param[$hookName]['nocategory'])) { $cache_array[] = Tools::getValue('id_category'); } } else if (isset($this->profile_param[$hookName]['categoryproduct']) && ($current_page == "category" || $current_page == 'product')) { if ($current_page == 'category') { if (!ApPageSetting::getControllerId($current_page, $this->profile_param[$hookName]['categoryproduct'])) { $cache_array[] = Tools::getValue('id_category'); } } else { $procate = Product::getProductCategoriesFull(Tools::getValue('id_product')); $procheck = 0; foreach ($procate as $proc) { if (in_array($proc['id_category'], $this->profile_param[$hookName]['categoryproduct'])) { $procheck = 1; } } if ($procheck == 0) { $cache_array[] = Tools::getValue('id_product'); } } } } if (Tools::getValue('plist_key')&& Tools::getIsset('leopanelchange')) { $cache_array[] = 'plist_key_'.Tools::getValue('plist_key'); } if (Tools::getValue('header') && Tools::getIsset('leopanelchange') && (in_array($hookName, ApPageSetting::getHook('header')) || $hookName == 'pagebuilderConfig|header')) { $cache_array[] = 'header_'.Tools::getValue('header'); } if (Tools::getValue('content')&& Tools::getIsset('leopanelchange') && (in_array($hookName, ApPageSetting::getHook('content')) || $hookName == 'pagebuilderConfig|content')) { $cache_array[] = 'content_'.Tools::getValue('content'); } if (Tools::getValue('product')&& Tools::getIsset('leopanelchange') && (in_array($hookName, ApPageSetting::getHook('product')) || $hookName == 'pagebuilderConfig|product')) { $cache_array[] = 'product_'.Tools::getValue('product'); } if (Tools::getValue('footer') && Tools::getIsset('leopanelchange') && (in_array($hookName, ApPageSetting::getHook('footer')) || $hookName == 'pagebuilderConfig|footer')) { $cache_array[] = 'footer_'.Tools::getValue('footer'); } } return parent::getCacheId().'|'.implode('|', $cache_array); } You can see, my module have function for landing page: - you can create landing page with my module with profile function, so in home page content hook will have diffirent content. - random product in carousel - you can create block for category and product only - other thing you can use shortcode. Many function in my module. currently, i can confirm we imporvement speed of module @Romeo.Tran What file I've to update with your suggestion? Link to comment Share on other sites More sharing options...
Romeo.Tran Posted December 17, 2019 Share Posted December 17, 2019 Hi Best solution is download version 2.2.8 Override folder modules/appagebuilder/ click on correct module in module config in version 2.2.8 you can set theme for mobile and tablets https://blog.leotheme.com/create-mobile-theme-tablet-theme-prestashop.html https://blog.leotheme.com/new-updates-ap-page-builder-module-version-2-2-7.html Link to comment Share on other sites More sharing options...
zod Posted December 20, 2019 Share Posted December 20, 2019 Hi Romeo, i noticed a problem with Footer Product hook and Apollo Page Builder. It is not showing in product page. I installed Cross Selling (original Prestashop module) in the Footer Product. Analyzing the code I see the related products (that is product_accessories block), the code is working. After that section there is some javascript, and it is reported. After the javascript there is the footer block, it seems like the original hook: {block name='product_footer'} {hook h='displayFooterProduct' product=$product category=$category} {/block} But it is not working, in Front Office the debug is showing these html comments: <!-- begin module:appagebuilder/views/templates/hook/appagebuilder.tpl --> <!-- begin /home/MYHOST/public_html/ps1/modules/appagebuilder/views/templates/hook/appagebuilder.tpl --> <!-- end /home/MYHOST/public_html/ps1/modules/appagebuilder/views/templates/hook/appagebuilder.tpl --> <!-- end module:appagebuilder/views/templates/hook/appagebuilder.tpl --> Watching inside that template there is just this code: {$apContent nofilter}{* HTML form , no escape necessary *} Any suggestion? Link to comment Share on other sites More sharing options...
prestapp Posted May 3, 2021 Share Posted May 3, 2021 On 26/1/2018 at 7:31 PM, ricardo21ferreira dice: thanks @mehere i kind of solved .. i create my own cache system in php to cache the displayHome, menus, etc.. (my logic is first person visiting the shop every day rebuilds my cache). from more than 15 seconds (on server loading) -> to 1.1 seconds. from more than 5000 queries -> to 200 queries. life is beatifull now . Thank you all to pointing me to the cause of the problem. Hi ricardo21ferreira, can you share the solution? thank you Link to comment Share on other sites More sharing options...
bboymietek Posted November 9, 2021 Share Posted November 9, 2021 Hello my friend. Can you show your code which solved the problem. Link to comment Share on other sites More sharing options...
Romeo.Tran Posted November 10, 2021 Share Posted November 10, 2021 On 5/3/2021 at 6:51 PM, prestapp said: Hi ricardo21ferreira, can you share the solution? thank you PLease download latest version of module ap page builder we fixed it Link to comment Share on other sites More sharing options...
Romeo.Tran Posted November 10, 2021 Share Posted November 10, 2021 On 12/21/2019 at 1:51 AM, zod said: Hi Romeo, i noticed a problem with Footer Product hook and Apollo Page Builder. It is not showing in product page. I installed Cross Selling (original Prestashop module) in the Footer Product. Analyzing the code I see the related products (that is product_accessories block), the code is working. After that section there is some javascript, and it is reported. After the javascript there is the footer block, it seems like the original hook: {block name='product_footer'} {hook h='displayFooterProduct' product=$product category=$category} {/block} But it is not working, in Front Office the debug is showing these html comments: <!-- begin module:appagebuilder/views/templates/hook/appagebuilder.tpl --> <!-- begin /home/MYHOST/public_html/ps1/modules/appagebuilder/views/templates/hook/appagebuilder.tpl --> <!-- end /home/MYHOST/public_html/ps1/modules/appagebuilder/views/templates/hook/appagebuilder.tpl --> <!-- end module:appagebuilder/views/templates/hook/appagebuilder.tpl --> Watching inside that template there is just this code: {$apContent nofilter}{* HTML form , no escape necessary *} Any suggestion? You can contact us directly to [email protected] Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now