4
Magento CE 1.9.1
Porto theme

We have way too many products on the front page (it works well for us on the desktop) which is not so good for Mobile users (including mobile phones and tablets).

Is there an easy way to detect a mobile user and load less products for them ?

This is very important for speed and overall mobile user experience.

(it seems now that 70% of customers place orders via a mobile device)

2
+50

You can use below infinite scroll extention which will load more products when you scroll and reach at bottom of page. So with use of this extention you will improve performance of your list page in your magento store.

Extention Url:

https://marketplace.magento.com/strategery-strategery-infinitescroll2.html

You need to configure plugin correctly. Also you need to check console for error.

enter image description here

  • Great suggestion - thank you for that! The only problem I have is - I don't want to install this via Magento Connect as I always had problems when I did that in the past. Is there a Github place where I can just download the files themselves and upload them via FTP? Is this it? github.com/Strategery-Inc/Magento-InfiniteScroll Thank you again for helping! ;-) – Allysin Jun 28 '18 at 11:29
  • @Allysin , yes you can download from it and upload via FTP. Cheers. :) – Chirag Rajput Jun 28 '18 at 11:33
  • I installed it by just copying the files into the appropriate folders via FTP. It now appears as an option in my Admin panel --) System --) Configuration --) STRATEGERY --) InfiniteScroll with all the different menu items. It is enabled but does not actually work on the front end. I assume this has to do with the fact I use the Porto theme? It says on the site to: "Configure the selectos for your theme in System / Configuration section." --) is this done under Advanced - Custom IAS config ? If so - where do I find the Path to enter here? Thanks again! ;-) – Allysin Jun 28 '18 at 13:44
  • @Allysin , i have updated my answer. Please check it. – Chirag Rajput Jun 29 '18 at 6:55
  • my settings are the same as the ones in the picture you included but it does not appear to work when I Enable it. Any ideas on what I need to do in order for this to start working? I'm lost...Thank you! :o) – Allysin Jun 29 '18 at 13:53
0

You can achieve this using customize your code that is responsible for fetching products on Front page. You can create one helper function that detect the device using the below code:

$isMobile = Zend_Http_UserAgent_Mobile::match(
    Mage::helper('core/http')->getHttpUserAgent(),
    $_SERVER
);

and using your helper function, you can change the number of products limit OR number of products blocks to show.

  • Thank you so much for your answer - it is very much appreciated. To be honest - I am not so good to be able to figure out how to implement this. Would anyone actually have Step 1, 2 and 3 kind of a solution? I think it will help many people in the future. – Allysin Jun 19 '18 at 15:01
  • @Allysin its completely customised solution site specific .. so I doubt if someone able to share step wise solution for this. – Pankaj Pareek Jun 20 '18 at 4:32
  • Maybe I'm just too naive in this but I was hoping there be some kind of a mobile device detection script and then some instruction like: IF mobile device detected THEN use this script to only load the first X products on the front page...Is that not possible? – Allysin Jun 20 '18 at 8:53
  • Yes I shared you that script only. – Pankaj Pareek Jun 20 '18 at 11:48
  • I would be wary using user-agents, see developer.mozilla.org/en-US/docs/Web/HTTP/… for more info. – Ben Crook Jun 27 '18 at 14:43
-1

Any mobile user detection should occur on the frontend using JavaScript for accuracy. A server side approach should be out of the question.

I don't understand how infinite scrolling (suggested in other answers) would help you for the front page (cms_index_index), as it doesn't have a multi-page category list and therefore would be useless. That approach is wrong.

I don't know what your front page looks like, but the philosophy is this: If you have multiple rows of products, convert them to a slider on mobile. If you generally want less products on mobile, say, for speed reasons, as mobile connections may not be as fast, then lazy load the products. Convert the product loading from normal server output to a javascript ajax call and fetch them on runtime. You could specify the number of products to get, or even just choose to lazy load just the images for the sake of speed.

I understand you are seeking specific instructions on how to do this, but it's not a 5 minute solution. It will likely require some development.

  • @Diamitris , if you use slider than all product on same page will take same for load as current load time. But if we decrease product visible on single page on both desktop and mobile then page load time will automatically decreased and on page scroll it will load next page's product. Hope you understand this approach. If you have any query then let me know. I will explain in more detail :) – Chirag Rajput Jun 29 '18 at 10:55
  • @ChiragRajput It was specifically mentioned that "it works well for us on the desktop" -- so from what is being said, we can infer that they want different functionality for desktop and mobile. Also, I think you're not understanding this. Your infinite scrolling suggestion would work on catalog lists, catalog_category_view, catalogsearch_result_index/catalogsearch_advanced_result and NOT on cms_index_index. Your approach and suggestion is wrong for what the question is. "How to load less products on the mobile/tablet front page?" – Dimitris Preketes Jun 29 '18 at 10:59
  • @Diamitris ,I know you will stick to your answer but Its good if your answer help the user to solve her issue. So no debate. Enjoy ;) – Chirag Rajput Jun 29 '18 at 11:05
  • @Chirag Rajput I don't think I would mind to have the infinite scroll on the desktop front page as well because we seem to be failing the speed tests and Google will change their site indexing parameters soon to take speed into consideration so anything that will help is appreciated. I display front page products from a category; I installed the infinite scroll extension now but having problems configuring that to actually run on my Magento 1.9.1 using the Porto theme. – Allysin Jun 29 '18 at 15:58
  • What I meant by 'it's working for us' is that most people just tend to order items off our front page...but the desktop version fails the speed tests also which is not good! – Allysin Jun 29 '18 at 16:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.