Appearance
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
| Method | Stream | Registry Gate |
|---|---|---|
homeTabs() | Product list tabs | Config home_tabs |
homeProductLists() | Curated collections | Config home_productlists |
homeSliders() | Image sliders | Config home_sliders |
homeSlideshowGroups() | Slider groups | Config home_slideshowgroups |
homePromoVendors() | Featured vendors | Always |
homeVendorsList() | All active vendors | Always |
homeSubContent() | Static HTML blocks | Always |
projectAgoraAll() | Ad network | AGORA.IS_ENABLED |
googleRecommendationsForHomePage() | Google ML | GOOGLE_RECOMMENDATIONS.GENERAL\ENABLED |
renderSmartRecommendationsRelatedProducts() | Internal algo | SMART_RECOMMENDATIONS.IS_ENABLED_BASED_ON_CART |
renderManagoRecommendations() | Manago CRM | MANAGO.ENABLE_API + ENABLE_RECOMMENDATIONS |
renderLastSeenProducts() | Recent views | SMART_RECOMMENDATIONS.IS_ENABLED_LAST_SEEN |
homeAI() | Advisable AI | ADVISABLE_AI.ENABLED |
getStreamVideos() | Video carousel | VIDEOSHOWCASE.ENABLED |
activeCustomerCoupons() | Active coupons | Always |
getActiveGiftRules() | Gift promotions | Always |
Code Flow
File: ecommercen/eshop/controllers/Adv_home.php — index() (line 34-56)
- SEO init → site-level meta defaults
indexExtras()→ orchestrates all 15+ content stream methodsdefaultProductParseWithProductCodes()→ enriches all queued product IDs- Render with template
Client Extension Points
Primary Override
indexExtras() — override to add/remove content streams, custom data loading
Registry Configuration (no code changes needed)
| Key | Controls |
|---|---|
AGORA.IS_ENABLED | Ad network |
GOOGLE_RECOMMENDATIONS.GENERAL\ENABLED | Google recommendations |
SMART_RECOMMENDATIONS.IS_ENABLED_BASED_ON_CART | Cart-based recommendations |
SMART_RECOMMENDATIONS.IS_ENABLED_LAST_SEEN | Recently viewed |
MANAGO.ENABLE_API | Manago CRM integration |
ADVISABLE_AI.ENABLED | AI recommendations |
VIDEOSHOWCASE.ENABLED | Video carousel |
Service Integrations
| Service | Class | Purpose |
|---|---|---|
| Advisable AI | AdvAdvisableAI | ML recommendations |
| Google Recommendations | GoogleRecommendations | Google API suggestions |
| Manago | Manago | CRM analytics |
| Project Agora | ProjectAgoraFactory | Display ads |
| Bunny Stream | BunnyStream | Video CDN |
Live Browser Testing Findings
Page Characteristics
- HTML payload: The homepage renders approximately ~1.4 MB of HTML.
- Vue app container: A
#appcontainer element is detected, confirming Vue 2 hydration on the frontend.
Visible Content Streams
The following streams were observed during live browser testing:
| Stream | Details |
|---|---|
| Promo banner slider | Free shipping promotion banner |
| Search bar | Prominent search input |
| Navigation | 25+ categories in the main navigation |
| Welcome / Login CTA | Logged-out CTA showing loyalty points incentive (e.g., "15,000 points") |
| Brands carousel | Korres, Apivita, La Roche Posay, and other major brands |
| Gift suggestions | Gift product recommendations section |
| Product cards | Product cards with pricing |
| Blog section | 3 blog cards |
| Footer | Newsletter signup form |
SEO & Meta
- Robots directive:
noindex, nofollowin development environments. - OpenGraph:
og:site_nameset to the site name (e.g.,PHARM16in the test instance).
Image Delivery
- Images are served through a dynamic resize endpoint:
/mediastream/w320/(width-based on-the-fly resizing).
Related Flows
- CF-13 Coupons — active customer coupons displayed on home page
- CF-37 Plus Customer Coupons — REST port of
activeCustomerCoupons()(the legacy method called fromAdv_home::index()), now exposed asGET /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 declareshome_gifts_slider_text/xtra-gifts-link-homepagereaches them via/rest/cms/subcontentinstead — reported forv4-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
- SY-07 Cache Management — all content streams cached with configurable TTL
- SY-26 Circuit Breaker — protects external service calls (Advisable AI, Manago, Project Agora) from cascading failures
- SY-27 Deferred Task Runner — AI/analytics tracking processed post-response as deferred tasks