Skip to content

[Recommendation] #1399868 - Add gally recommendation - #47

Open
PierreGauthier wants to merge 3 commits into
2.3.xfrom
feat-reco
Open

[Recommendation] #1399868 - Add gally recommendation#47
PierreGauthier wants to merge 3 commits into
2.3.xfrom
feat-reco

Conversation

@PierreGauthier

Copy link
Copy Markdown
Contributor
Q A
Branch? master for features / current stable version branch for bug fixes
Tickets #...
License OSL-3.0

@PierreGauthier
PierreGauthier marked this pull request as ready for review July 13, 2026 10:05
@PierreGauthier
PierreGauthier changed the base branch from main to 2.3.x July 13, 2026 10:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces Gally-powered product and cart recommendations in the Sylius shop, backed by new channel-level configuration (recommendation type + max sizes) and SDK/indexer integration to sync association types as recommender types.

Changes:

  • Add Twig components + templates to render recommendations on product pages (per association type) and in the cart.
  • Add channel configuration fields (DB + admin form + translations) to control recommendation behavior.
  • Add recommendation plumbing: RecommendationFinder, SDK RecommenderManager service wiring, and indexer provider/subscriber for recommender types.

Reviewed changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/Twig/GallyContext.php Exposes cart recommendation type code + product association types to Twig.
src/Twig/Component/Product/RecommendationComponent.php New product-page recommendation Twig component.
src/Twig/Component/Cart/RecommendationComponent.php New cart recommendation Twig component.
src/Resources/views/shop/product/show/content/product_listing/recommendations.html.twig Replaces default association rendering with Gally-aware recommendations block.
src/Resources/views/shop/product/show/content/product_listing/recommendation.html.twig Renders a single association-type recommendation section.
src/Resources/views/shop/cart/index/content/recommendations.html.twig Adds cart recommendations hook content with Gally fallback.
src/Resources/views/shop/cart/index/content/recommendations_content.html.twig Renders recommended products grid for the cart.
src/Resources/views/admin/channel/form/sections/gally.html.twig Adds admin UI fields for recommendation configuration.
src/Resources/translations/messages.en.yaml Adds translations for recommendation section + form labels.
src/Resources/config/services/twig/component/product.xml Registers the product recommendation Twig component service.
src/Resources/config/services/twig/component/cart.xml Registers the cart recommendation Twig component service.
src/Resources/config/services/twig.xml Injects product association type repository into GallyContext.
src/Resources/config/services/sdk.xml Registers Gally\Sdk\Service\RecommenderManager.
src/Resources/config/services/indexers.xml Adds recommender type provider + association type subscriber wiring.
src/Resources/config/services.xml Imports cart twig-component services; wires ChannelTypeExtension + RecommendationFinder.
src/Resources/config/app/twig_hooks_shop.yml Disables native hooks and mounts the new recommendation templates.
src/Recommendation/RecommendationFinder.php Implements “hard associations first, then Gally recommendations” resolution.
src/Model/GallyChannelTrait.php Adds new channel fields + typed properties + getters/setters for recommendations.
src/Model/GallyChannelInterface.php Extends channel contract with recommendation-related getters/setters.
src/Migrations/Version20260709120000.php Adds DB columns for recommendation configuration on sylius_channel.
src/Indexer/Subscriber/ProductAssociationTypeSubscriber.php Syncs recommender types on association type create/update events.
src/Indexer/Provider/RecommenderTypeProvider.php Builds Gally recommender types from Sylius association types.
src/Form/Extension/ChannelTypeExtension.php Adds recommendation configuration fields to the channel form.
src/Command/StructureSync.php Allows structure sync command to include recommenderType.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Twig/Component/Product/RecommendationComponent.php
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants