Skip to content

Home Page ​

Flow ID: CF-26 | Module(s): eshop | Complexity: High | Last Updated: 2026-06-07

Business Overview ​

The home page is a content aggregation engine composing 15+ independent content streams into a single landing page. Every section is feature-gated via registry settings — marketing teams can toggle features without code changes.

Content streams include:

  • Hero sliders and slideshow groups
  • Curated product tabs and collections
  • Featured vendors and brand showcases
  • AI recommendations (Advisable AI, Google, Manago)
  • Last-seen products (personalized)
  • Video carousel (Bunny CDN)
  • Active coupons and gift promotions
  • Static sub-content blocks
  • Project Agora display ads

Key business behaviors:

  • All streams independently configurable via registry flags
  • Graceful degradation — disabled/down services simply don't render
  • Personalized content when customer is logged in
  • Deferred tasks handle AI/analytics tracking post-response
  • All content cached with configurable TTL

Content Streams ​

MethodStreamRegistry Gate
homeTabs()Product list tabsConfig home_tabs
homeProductLists()Curated collectionsConfig home_productlists
homeSliders()Image slidersConfig home_sliders
homeSlideshowGroups()Slider groupsConfig home_slideshowgroups
homePromoVendors()Featured vendorsAlways
homeVendorsList()All active vendorsAlways
homeSubContent()Static HTML blocksAlways
projectAgoraAll()Ad networkAGORA.IS_ENABLED
googleRecommendationsForHomePage()Google MLGOOGLE_RECOMMENDATIONS.GENERAL\ENABLED
renderSmartRecommendationsRelatedProducts()Internal algoSMART_RECOMMENDATIONS.IS_ENABLED_BASED_ON_CART
renderManagoRecommendations()Manago CRMMANAGO.ENABLE_API + ENABLE_RECOMMENDATIONS
renderLastSeenProducts()Recent viewsSMART_RECOMMENDATIONS.IS_ENABLED_LAST_SEEN
homeAI()Advisable AIADVISABLE_AI.ENABLED
getStreamVideos()Video carouselVIDEOSHOWCASE.ENABLED
activeCustomerCoupons()Active couponsAlways
getActiveGiftRules()Gift promotionsAlways

Code Flow ​

File: ecommercen/eshop/controllers/Adv_home.php — index() (line 34-56)

  1. SEO init → site-level meta defaults
  2. indexExtras() → orchestrates all 15+ content stream methods
  3. defaultProductParseWithProductCodes() → enriches all queued product IDs
  4. Render with template

Client Extension Points ​

Primary Override ​

indexExtras() — override to add/remove content streams, custom data loading

Registry Configuration (no code changes needed) ​

KeyControls
AGORA.IS_ENABLEDAd network
GOOGLE_RECOMMENDATIONS.GENERAL\ENABLEDGoogle recommendations
SMART_RECOMMENDATIONS.IS_ENABLED_BASED_ON_CARTCart-based recommendations
SMART_RECOMMENDATIONS.IS_ENABLED_LAST_SEENRecently viewed
MANAGO.ENABLE_APIManago CRM integration
ADVISABLE_AI.ENABLEDAI recommendations
VIDEOSHOWCASE.ENABLEDVideo carousel

Service Integrations ​

ServiceClassPurpose
Advisable AIAdvAdvisableAIML recommendations
Google RecommendationsGoogleRecommendationsGoogle API suggestions
ManagoManagoCRM analytics
Project AgoraProjectAgoraFactoryDisplay ads
Bunny StreamBunnyStreamVideo CDN

Live Browser Testing Findings ​

Page Characteristics ​

  • HTML payload: The homepage renders approximately ~1.4 MB of HTML.
  • Vue app container: A #app container element is detected, confirming Vue 2 hydration on the frontend.

Visible Content Streams ​

The following streams were observed during live browser testing:

StreamDetails
Promo banner sliderFree shipping promotion banner
Search barProminent search input
Navigation25+ categories in the main navigation
Welcome / Login CTALogged-out CTA showing loyalty points incentive (e.g., "15,000 points")
Brands carouselKorres, Apivita, La Roche Posay, and other major brands
Gift suggestionsGift product recommendations section
Product cardsProduct cards with pricing
Blog section3 blog cards
FooterNewsletter signup form

SEO & Meta ​

  • Robots directive: noindex, nofollow in development environments.
  • OpenGraph: og:site_name set to the site name (e.g., PHARM16 in the test instance).

Image Delivery ​

  • Images are served through a dynamic resize endpoint: /mediastream/w320/ (width-based on-the-fly resizing).

  • CF-13 Coupons — active customer coupons displayed on home page
  • CF-37 Plus Customer Coupons — REST port of activeCustomerCoupons() (the legacy method called from Adv_home::index()), now exposed as GET /rest/plus/customer-coupon
  • CF-14 Gift Rules — active gift promotions displayed on home page; GET /rest/promotion/gift/active (#646) exposes the same rules to a headless storefront but is not by itself full parity with this page in this repo — homeSubContent() and the rest of the streams above are untouched by that endpoint here (a client fork that declares home_gifts_slider_text / xtra-gifts-link-homepage reaches them via /rest/cms/subcontent instead — reported for v4-wecare, issue #646 comment #issuecomment-5600724049, unverified in this checkout)
  • CF-19 Vendors — promo vendors and vendor listing streams
  • CF-22 Events — footer event articles widget on all pages
  • CF-34 AI Recommendations — AI recommendation placements (history, popular)
  • AD-21 Sliders — manage home sliders and slideshow groups
  • AD-13 Settings — registry feature toggles for all content streams
  • AD-30 Video Management — video carousel stream (Bunny CDN)

Shared Patterns ​