Automatic Related Products
Opis
Moduł dodaje regułowe automatyczne produkty powiązane w Magento 2. Wyniki reguł są zapisywane w osobnej tabeli indeksu i renderowane w wielu pozycjach na froncie (produkt, kategoria, koszyk), z możliwością łączenia lub zastępowania natywnych bloków related/upsell.
Dla kogo
Dla merchantów i zespołów Magento, które potrzebują centralnie zarządzanych, regułowych powiązań produktowych w wielu miejscach sklepu.
Funkcje
- Zarządzanie regułami w panelu Admin z warunkami (produkty do wyświetlenia) i akcjami (gdzie/kiedy wyświetlić).
- Pozycje na froncie dla strony produktu, kategorii, koszyka oraz pozycja niestandardowa.
- Tryby łączenia: dodanie do natywnych kolekcji related/upsell albo ich zastąpienie.
- Harmonogramowe przeliczanie reguł przez cron oraz ręczne uruchomienie w Admin i przez CLI.
- Deklaratywny schemat bazy danych z tabelami reguł, powiązań ze store view i indeksu produktów.
- Czyszczenie cache tagów produktów po przeliczeniu reguł.
- Opcjonalne przełączanie szablonu dla Hyva (tema Hyva/default) i wybór szablonu per reguła.
Instalacja
* = in production please use the --keep-generated option
Type: Composer
-
Add the composer repository to the configuration:
composer config repositories.automatic.related.products vcs https://github.com/kowalco/automatic-related-products
-
Add an access token for the private GitLab repository:
composer config --global --auth github-oauth.github.com <YOUR_TOKEN>
-
Install the module using Composer:
composer require kowal/module-automatic-related-products
-
Enable the module:
php bin/magento module:enable Kowal_AutomaticRelatedProducts
-
Apply database updates:
php bin/magento setup:upgrade
-
Flush the cache:
php bin/magento cache:flush
Konfiguracja
- Ścieżka w Adminie: Stores > Configuration > Kowal > Automatic Related Products.
- Ścieżka konfiguracyjna:
automaticrelatedproducts/general/enabled.
- Zakres: konfiguracja jest odczytywana w zakresie store, ale pole w Adminie jest edytowalne tylko w zakresie Default (Show in Default = 1, Website = 0, Store View = 0).
- Reguły w Adminie: Automatic Related Products > Rules (admin route
automaticrelatedproducts/rule/*).
- ACL:
Kowal_AutomaticRelatedProducts::config dla konfiguracji oraz Kowal_AutomaticRelatedProducts::rule dla reguł.
Wdrożenie i operacje
- Reguły można przeliczyć ręcznie w Adminie przyciskiem “Apply Rules” lub przez CLI
kowal:arp:apply (opcjonalnie --ids z listą ID).
- Cron
kowal_auto_related_product_cron_update_related_products uruchamia się co 8 godzin o minucie 20 w grupie default.
- Moduł aktualizuje tabelę
kowal_automaticrelatedproducts_index i dispatchuje clean_cache_by_tags dla powiązanych tagów cache produktu.
Checklist wdrożeniowy
- Upewnij się, że
Kowal_AutomaticRelatedProducts jest włączony i flaga w konfiguracji jest aktywna.
- Utwórz co najmniej jedną regułę z warunkami i docelową pozycją.
- Przelicz reguły raz (Admin lub CLI) i potwierdź wypełnienie tabeli indeksu.
- Zweryfikuj działanie crona, aby indeks był aktualny.
- Sprawdź renderowanie na froncie w wybranych pozycjach.
CI/CD i środowiska
- Upewnij się, że schemat bazy danych jest zastosowany na deployu (deklaratywny schema).
- Wdróż static content dla admin UI JS i szablonów frontendowych, jeśli wymagane.
- Jeśli używasz Hyva, zweryfikuj przełączanie szablonu.
Rollback
- Wyłącz moduł i usuń go z Composer, a następnie uruchom proces aktualizacji Magento, jeśli Twoje wdrożenie obsługuje usuwanie modułu.
- Wyczyść cache po wyłączeniu, aby uniknąć starych bloków na froncie.
Wymagania / uwagi
- Zależność Composer:
kowal/base.
- Moduły Magento używane w kodzie: Catalog, CatalogRule, SalesRule, Ui, Backend, Store, Cron, CatalogInventory, Checkout.
- TargetRule jest referencjonowany w DI (
Magento\TargetRule\Block\Catalog\Product\ProductList\Related), dostępny w Adobe Commerce; sprawdź kompatybilność w Open Source.
- Integracje opcjonalne:
Kowal_DynamicProductAttributes (dodatkowe filtry walidacji) oraz Kowal_AutomaticRelatedProductsExtra (dodatkowe szablony).
- Tabele bazy danych:
kowal_automaticrelatedproducts_rule, kowal_automaticrelatedproducts_rule_store, kowal_automaticrelatedproducts_index.
Kompatybilność
- Wersja modułu w
composer.json: 1.0.18, setup_version w etc/module.xml: 1.0.16.
- Brak matrycy wersji Magento w repozytorium.
FAQ
- Jakie wersje Magento są wspierane? Brak informacji w kodzie i README.
- Czy pola typu start/end date, customer groups i przełączniki trybów są egzekwowane? Nie znaleziono implementacji w logice backendowej poza zapisaniem/serializacją.
- Czy są używane indeksy lub kolejki? Moduł ich nie definiuje.
- W sekcji Installation w README brakuje zamykających płotków kodu; tutaj dodano zamknięcie, aby dokument był poprawnie renderowany.