Automatyczne Produkty Powiązane dla Magento 2
Moduły Magento na jasnych zasadach
Kupujesz moduł raz, bez ograniczeń domenowych
Darmowa instalacja i aktualizacje przez Composer
Program Afiliacyjny
Wsparcie techniczne dla Magento
Jasne zasady licencjonowania modułów Magento
Bezpieczeństwo kodu Modułów Magento
Buduj inteligentne rekomendacje produktowe w Magento 2 bez ograniczania się do sztywnych relacji related, upsell i cross-sell.
Kowal_RelatedProductsProfiles to moduł, który pozwala projektować własne scenariusze rekomendacyjne w oparciu o profile, atrybuty produktów, warunki aktywacji, filtry docelowe i elastyczne osadzanie w layoucie sklepu. Dzięki temu rekomendacje przestają być statyczną listą, a stają się częścią strategii sprzedażowej sklepu.
Zamień zwykłe listy produktów w realne scenariusze sprzedażowe
W standardowym Magento produkty powiązane są często zbyt proste, aby obsłużyć bardziej wymagające wdrożenia. Sklep chce pokazywać inne produkty na karcie produktu, inne w koszyku i inne w checkout. Czasem lista ma działać tylko dla wybranych grup klientów, tylko w trakcie kampanii sezonowej albo tylko wtedy, gdy produkt spełnia konkretne warunki katalogowe.
Ten moduł został zbudowany właśnie do takich przypadków.
Zamiast ręcznie spinać produkty ze sobą, tworzysz profil rekomendacji. Profil określa:
- gdzie ma działać,
- dla jakiego produktu ma się aktywować,
- jak dobrać produkty docelowe,
- jak je zawęzić i posortować,
- jak mają wyglądać,
- gdzie mają zostać wyrenderowane,
- oraz czy mają zasilać natywne listy Magento.
Jedno narzędzie, wiele miejsc wdrożenia
Moduł działa w najważniejszych obszarach sklepu:
- na karcie produktu,
- w koszyku,
- w checkout,
- w natywnych blokach
Related Products, - w natywnych blokach
Upsell Products, - w natywnych blokach
Crosssell Products.
To oznacza, że jeden profil może stać się częścią kilku różnych scenariuszy merchandisingowych, a zespół wdrożeniowy nie musi budować osobnej logiki dla każdego miejsca w sklepie.
Profile, które dopasowują się do Twojego katalogu
Największą siłą modułu jest to, że rekomendacje mogą być budowane nie tylko ręcznie, ale także dynamicznie na podstawie atrybutów produktów.
Możesz tworzyć profile, które:
- dobierają produkty z tej samej kolekcji,
- wyszukują produkty z tą samą grafiką,
- pokazują produkty z tej samej kategorii,
- promują inną bazę produktową powiązaną z oglądanym produktem,
- zawężają wynik do konkretnych typów produktów,
- działają tylko dla wybranych store view i grup klientów.
Przykład?
Klient ogląda rashguarda z grafiką HALLOWEEN 25. Profil może automatycznie znaleźć produkty z tej samej grafiki w innych liniach produktowych, na przykład shortsach, legginsach albo akcesoriach. Inny profil może z kolei wykorzystywać ten sam produkt jako kontekst w koszyku i proponować klientowi uzupełnienie zamówienia o produkty z wybranej bazy asortymentowej.
Twórz rekomendacje na podstawie warunków, a nie wyjątków
Każdy profil może mieć własne:
Activation Conditions,Matching Rules,Target Product Filters,- sortowanie,
- limity produktów,
- wariant renderowania,
- zakres czasowy aktywności.
W praktyce daje to ogromną swobodę.
Możesz zbudować profil, który uruchomi się tylko dla produktów z atrybutem brand = Nike, tylko w sklepie B2C, tylko dla klientów detalicznych i tylko w trakcie konkretnej kampanii. Możesz też zbudować profil, który wykorzysta produkt z koszyka jako punkt odniesienia i zaproponuje dodatki na podstawie wspólnych cech katalogowych.
To nie jest już prosta lista produktów. To regułowy silnik rekomendacyjny, który można dopasować do realnego modelu sprzedaży sklepu.
Wybierz, który produkt ma być kontekstem
Na karcie produktu kontekstem jest bieżący produkt. Ale w koszyku i checkout taka odpowiedź nie zawsze jest oczywista. Dlatego moduł pozwala określić Context Strategy, czyli sposób wyboru produktu kontekstowego.
Możesz zdecydować, że profile mają opierać się na:
- pierwszym produkcie z koszyka,
- ostatnio dodanym produkcie,
- produkcie o najwyższej cenie.
Ta elastyczność robi dużą różnicę w projektach, w których klient dodaje do koszyka kilka różnych produktów i rekomendacje muszą wynikać z konkretnej logiki biznesowej.
Osobne scenariusze dla produktu, koszyka i checkout
To, co dobrze działa na PDP, nie zawsze ma sens w koszyku. Moduł pozwala rozdzielić te scenariusze bez mnożenia osobnych rozszerzeń.
Na karcie produktu możesz wyświetlać listę produktów z tej samej kolekcji albo tej samej stylistyki. W koszyku możesz promować dodatki zwiększające wartość zamówienia. W checkout możesz przygotować uproszczoną, bardziej ostrożną listę produktów wspierających cross-sell.
Wszystko to w obrębie jednego systemu profili.
Zasilaj natywne listy Magento: append albo replace
Nie każdy sklep chce od razu rezygnować z natywnych mechanizmów Magento. Dlatego moduł wspiera integrację z:
Related Products,Upsell Products,Crosssell Products.
Każdy profil może działać w jednym z dwóch trybów:
append
zachowuje natywne produkty i dokłada do nich wyniki modułu,replace
całkowicie zastępuje natywną listę produktami z profilu.
To bardzo wygodne rozwiązanie wdrożeniowe. Możesz zacząć od lekkiego rozszerzenia obecnych list Magento, a dopiero później przejść do pełnego sterowania rekomendacjami z poziomu profili.
Renderuj tam, gdzie naprawdę chcesz
Dużą przewagą modułu jest możliwość sterowania miejscem renderowania przy pomocy pól XML przypisanych do profilu.
Zamiast dopasowywać moduł do jednego sztywnego układu, możesz osadzić listę dokładnie tam, gdzie potrzebuje tego projekt:
- pod opisem produktu,
- pod ceną,
- pod formularzem zakupu,
- w sekcji dodatkowej,
- we własnym kontenerze motywu,
- w miejscu wynikającym z niestandardowego layoutu frontendu.
To szczególnie ważne w sklepach opartych o rozbudowane lub mocno zmodyfikowane motywy. Moduł nie zmusza Cię do jednego układu. To Ty decydujesz, gdzie i w jaki sposób profil ma zostać osadzony.
Trzy warianty prezentacji na froncie
Moduł nie kończy się na logice doboru produktów. Pozwala też dopasować sposób prezentacji listy do charakteru strony i typu wdrożenia.
Dostępne są warianty:
Grid,Slider,Compact.
Możesz więc wykorzystać ten sam silnik rekomendacji zarówno do rozbudowanej sekcji na karcie produktu, jak i do zwartej listy w koszyku czy bardziej kompaktowego modułu w checkout.
Do tego dochodzi kontrola nad elementami widoku:
- nazwa produktu,
- cena,
- cena regularna,
- krótki opis,
- przycisk dodania do koszyka,
- rola obrazka.
Tworzenie nowych profili jest czytelne i skalowalne
Moduł został zbudowany tak, aby zespół wdrożeniowy lub agencyjny mógł rozwijać kolejne scenariusze bez przebudowy całego rozwiązania.
Tworząc nowy profil, konfigurujesz:
- podstawowe informacje administracyjne,
- placementy i zakres działania,
- store view i grupy klientów,
- strategię kontekstu,
- przedział dat aktywności,
- warunki aktywacji,
- reguły dopasowania,
- filtry produktów docelowych,
- sortowanie i sposób wyświetlania,
- integrację z natywnymi listami Magento,
- osadzenie przez XML.
To oznacza, że kolejny scenariusz merchandisingowy nie wymaga od razu kolejnego custom modułu. Bardzo często wystarczy kolejny profil.
Realne przykłady zastosowania
1. Ta sama grafika, inna baza produktowa
Klient ogląda produkt z konkretnej linii. Moduł na podstawie matching rules wyszukuje produkty z tą samą grafiką, ale z innych rodzin asortymentowych. To świetny scenariusz dla marek lifestyle, sportowych i fashion.
2. Cross-sell oparty o produkt z koszyka
Klient ma już w koszyku wybrany produkt. Profil wykorzystuje go jako kontekst i dobiera dodatki, które pasują do zakupu, ale nie są ręcznie spięte jako natywny cross-sell.
3. Kampania ograniczona czasowo
Potrzebujesz rekomendacji działających tylko w trakcie konkretnej akcji sprzedażowej? Wystarczy skonfigurować profil z From Date i To Date, bez budowania dodatkowej logiki.
4. Zastąpienie natywnych upselli
Jeśli standardowe upselle Magento są zbyt uproszczone, profil może przejąć tę rolę i działać w trybie replace, oferując znacznie bardziej precyzyjne dopasowanie produktów.
5. Integracja z niestandardowym motywem
Dzięki polom XML lista może zostać osadzona dokładnie tam, gdzie wymaga tego frontend projektu, bez budowania kolejnego dedykowanego rozszerzenia do layoutu.
Dla kogo jest ten moduł
Kowal_RelatedProductsProfiles będzie szczególnie wartościowy dla:
- agencji wdrożeniowych Magento 2,
- software house'ów rozwijających sklepy e-commerce,
- merchantów, którzy chcą uniezależnić logikę rekomendacji od ręcznie utrzymywanych relacji,
- projektów z rozbudowanym katalogiem i wieloma atrybutami biznesowymi,
- sklepów korzystających z niestandardowych motywów i złożonych layoutów.
Co zyskujesz
Kupując moduł, zyskujesz nie tylko kolejną listę produktów, ale narzędzie do projektowania własnych scenariuszy rekomendacyjnych w Magento 2.
To rozwiązanie, które:
- zwiększa elastyczność wdrożenia,
- porządkuje logikę merchandisingową,
- ogranicza potrzebę pisania kolejnych wyjątków w kodzie,
- lepiej wykorzystuje atrybuty katalogowe,
- pozwala rozwijać sklep bez przebudowy całego mechanizmu rekomendacji.
Jeśli standardowe related, upsell i cross-sell są dla Twojego projektu zbyt ograniczone, Kowal_RelatedProductsProfiles daje warstwę sterowania, której Magento domyślnie po prostu nie ma.
Instalacja i konfiguracja modułu
Ten dokument opisuje instalację modułu Kowal_RelatedProductsProfiles oraz podstawową konfigurację profilu rekomendacji produktów w panelu Magento.
Wymagania
- Magento 2 z obsługą modułów Composer.
- PHP zgodne z projektem:
^8.1,^8.2lub^8.3. - Zainstalowany moduł bazowy
kowal/base, ponieważ menu administracyjne korzysta ze strukturyKowal.co > Modules. - Dostęp administracyjny do CLI Magento.
Instalacja przez Composer
- Dodaj repozytorium modułu:
composer config repositories.related.products.profiles vcs https://github.com/kowalco/related-bestsellers
- Jeśli repozytorium jest prywatne, dodaj token GitHub:
composer config --global --auth github-oauth.github.com <YOUR_TOKEN>
- Zainstaluj moduł:
composer require kowal/module-related-products-profiles
- Włącz moduł:
php bin/magento module:enable Kowal_RelatedProductsProfiles
- Wykonaj aktualizację bazy danych:
php bin/magento setup:upgrade
Podczas setup:upgrade moduł tworzy tabelę profili i uruchamia data patch z trzema przykładowymi profilami: related, crossel, upsell. Patch nie nadpisuje istniejących profili o tych samych kodach.
- W trybie produkcyjnym przebuduj dependency injection:
php bin/magento setup:di:compile
- Wyczyść cache:
php bin/magento cache:flush
Podstawowa konfiguracja globalna
Przejdź do:
Stores > Configuration > Kowal > Related Product Profiles
Ustaw:
Enable Frontend Output:YesEnable Debug Logging:Nona produkcji,Yestylko przy diagnozowaniu działania profili
Zapisz konfigurację i wyczyść cache, jeśli Magento o to poprosi.
Uprawnienia administracyjne
Moduł dodaje zasoby ACL dla profili oraz konfiguracji.
Dostęp do listy profili:
Kowal > Modules > Related Product Profiles > Profiles
Dostęp do konfiguracji:
Stores > Settings > Configuration > Related Product Profiles Configuration
Dla użytkownika demo, który ma zarządzać tylko profilami, nadaj uprawnienie Profiles. Jeśli użytkownik ma również zmieniać ustawienie globalnego włączenia modułu, nadaj mu także zasób konfiguracji.
Gdzie zarządzać profilami
Lista profili znajduje się w menu:
Kowal.co > Modules > Related Product Profiles > Profiles
Na liście można dodać nowy profil, edytować istniejący lub usunąć profil.
Przykład konfiguracji profilu Related Products
Poniższy przykład tworzy profil, który zastępuje natywny blok Magento Related Products na karcie produktu. Produkty będą dobierane według tego samego attribute_set_id, czyli z tego samego zestawu atrybutów co produkt oglądany przez klienta.
1. Utworzenie profilu
Przejdź do:
Kowal.co > Modules > Related Product Profiles > Profiles
Kliknij Add New Profile.
2. Sekcja General
Ustaw:
Name:Related ProductsCode:relatedIs Active: zaznaczoneSort Order:0Placements: wybierzProduct PageStore Views: wybierzAll Store ViewsCustomer Groups: wybierzAll Customer GroupsContext Strategy:First matching itemFrom Date: pusteTo Date: puste
Uwagi:
- Dla karty produktu kontekstem zawsze jest aktualnie oglądany produkt.
Context Strategyma praktyczne znaczenie głównie dla koszyka i checkoutu.Codemusi być unikalny.
3. Sekcja Activation Conditions
Dodaj warunek:
| Attribute Code | Operator | Value |
|---|---|---|
status |
Equals |
1 |
Znaczenie:
- Profil uruchomi się tylko wtedy, gdy produkt kontekstowy jest aktywny.
- Jeśli warunek nie zostanie spełniony, cały profil zostanie pominięty.
4. Sekcja Matching Rules
Dodaj regułę:
| Source Attribute | Target Attribute | Operator | Required | Empty Value Policy | Default Value |
|---|---|---|---|---|---|
attribute_set_id |
attribute_set_id |
Equals |
zaznaczone | Skip Rule |
puste |
Znaczenie:
- Moduł pobierze
attribute_set_idz aktualnego produktu. - Następnie znajdzie produkty z takim samym
attribute_set_id. Requiredoznacza, że produkt docelowy musi spełnić tę regułę.
Alternatywne przykłady reguł:
brand->brand, operatorEquals: produkty tej samej marki.category_ids->category_ids, operatorCategory Intersects: produkty z co najmniej jednej wspólnej kategorii.color->color, operatorEquals: produkty o tym samym kolorze.
5. Sekcja Target Product Filters
Dodaj filtr:
| Attribute Code | Operator | Value |
|---|---|---|
status |
Equals |
1 |
Znaczenie:
- Z wyników zostaną pokazane tylko aktywne produkty.
Opcjonalnie można dodać filtr widoczności:
| Attribute Code | Operator | Value |
|---|---|---|
visibility |
In List |
2,3,4 |
6. Sekcja Sorting & Display
Ustaw:
Sort Attribute:entity_idSort Direction:DESCSecondary Sort Attribute: pusteSecondary Sort Direction:NoneTitle:Related ProductsSubtitle: pusteProducts Limit:8Template Variant:SliderImage Role:category_page_gridShow Price: zaznaczoneShow Old Price: niezaznaczoneShow Add To Cart: zaznaczoneShow Product Name: zaznaczoneShow Short Description: niezaznaczoneShow Badges: niezaznaczoneHide If Empty: zaznaczoneExclude Current Product: zaznaczoneExclude Quote Products: zaznaczoneExclude Out Of Stock: zaznaczone
Znaczenie najważniejszych pól:
Template Variantsteruje wyglądem listy:Grid,SliderlubCompact.Products Limitogranicza liczbę produktów w wynikach.Exclude Current Productchroni przed pokazaniem aktualnie oglądanego produktu w wynikach.Exclude Out Of Stockusuwa produkty niedostępne.
7. Sekcja Native Magento Lists
Dla Related Products ustaw:
- checkbox
Related Products: zaznaczone Mode:ReplacePosition:Magento default position
Znaczenie:
- Zaznaczenie checkboxa oznacza, że moduł przejmuje natywny blok Magento
Related Products. Replaceoznacza, że w przejętym bloku zostaną pokazane tylko produkty z profilu.Appendoznacza, że moduł pokaże produkty natywne Magento plus produkty z profilu.Positionpozwala przenieść blok w inne miejsce karty produktu.
Przykładowe pozycje:
Magento default position: zostawia blok w miejscu ustawionym przez motyw Magento.sidebar.additional: przenosi blok do dodatkowego sidebara.sidebar.main: przenosi blok do głównego sidebara.content: przenosi blok do głównej zawartości strony.content.aside: przenosi blok do bocznego obszaru content.product.info.main: przenosi blok do głównej kolumny informacji o produkcie.product.info.media: przenosi blok do obszaru galerii produktu.product.info.details: przenosi blok do obszaru szczegółów lub zakładek produktu.
Jeśli wybrany kontener nie istnieje w aktualnym motywie, Magento zostawi blok w domyślnym miejscu.
Dla Upsell Products i Crosssell Products w tym przykładzie zostaw checkboxy niezaznaczone.
8. Sekcja Layout XML
Dla tego przykładu zostaw pola puste:
Product Page XML: pusteEdit Cart XML: pusteCheckout XML: puste
Nie trzeba dodawać XML, jeśli używasz sekcji Native Magento Lists. XML jest przydatny wtedy, gdy profil ma być renderowany jako dodatkowy blok modułu poza natywnymi listami Magento.
9. Zapis profilu
Kliknij:
Save Profile, aby zapisać i wrócić do listy profiliSave and Continue, aby zapisać i zostać na formularzu
Po zapisie wyczyść cache Magento, jeśli wynik nie jest od razu widoczny na froncie.
Przykład konfiguracji Upsell w sidebarze
Jeśli chcesz przenieść Upsell Products do sidebar.additional:
- W
PlacementswybierzProduct Page. - W
Native Magento ListszaznaczUpsell Products. - Ustaw
Mode:Append, jeśli chcesz pokazać natywne upselle Magento plus produkty profilu.Replace, jeśli chcesz pokazać tylko produkty profilu.
- Ustaw
Position:Additional sidebar - sidebar.additional. - Wybierz
Template Variant: zwykleCompactdobrze pasuje do sidebara.
Przykład konfiguracji Crosssell w koszyku
Dla crosssell:
- W
PlacementswybierzEdit Cart. - W
Native Magento ListszaznaczCrosssell Products. - Ustaw
Mode: najczęściejReplace. Positionnie jest dostępne dla crosssell, ponieważ aktualnie pozycjonowanie dotyczy tylko bloków na karcie produktu.
Diagnostyka
Jeśli profil nie wyświetla produktów:
- Sprawdź, czy moduł jest włączony w konfiguracji.
- Sprawdź, czy profil ma
Is Activezaznaczone. - Sprawdź, czy
Placementspasuje do miejsca, w którym testujesz profil. - Sprawdź warunki w
Activation Conditions. - Sprawdź, czy produkt kontekstowy ma wartości atrybutów używane w
Matching Rules. - Tymczasowo wyłącz
Exclude Out Of Stock, jeśli testujesz na produktach bez stanów magazynowych. - Włącz
Enable Debug Loggingtylko na czas diagnozy.
Komendy po wdrożeniu zmian
Po aktualizacji modułu wykonaj:
php bin/magento setup:upgrade
php bin/magento cache:flush
W trybie produkcyjnym wykonaj dodatkowo:
php bin/magento setup:di:compileWersja: 1.1.22
22.05.2026
Added
- Added sample profile installation data patch with three default profiles:
relatedcrosselupsell
- Added native product-page block position management for Related and Upsell blocks.
- Added admin dropdowns for Related and Upsell block positions.
- Added supported product-page position targets:
contentcontent.asidesidebar.mainsidebar.additionalproduct.info.mainproduct.info.mediaproduct.info.details
- Added
related_block_positionandupsell_block_positionprofile fields.
Changed
- Native Magento Related, Upsell and Crosssell injection now replaces the native block output with module-rendered output when the matching checkbox is enabled.
Appendmode now renders native Magento products plus profile products inside the module output.Replacemode now renders only profile products inside the module output.- Related Products defaults to
replacemode. - Admin profile action buttons were moved to the top of the form in Magento-style order:
- Back
- Delete
- Save and Continue
- Save Profile
- Admin ACL/menu integration was aligned with
Kowal_Basemenu structure:Kowal.co > Modules > Related Product Profiles > Profiles- configuration remains under Magento Stores configuration.
Fixed
- Prevented duplicate storefront rendering when a profile is handled by a native Magento list replacement.
- Fixed limited-admin-role visibility for the Profiles menu entry by wiring menu and ACL resources to the Kowal modules tree.
- Preserved native Magento list products for
Appendmode while avoiding recursion during native item collection.















