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

  1. Add the composer repository to the configuration:

    
    composer config repositories.automatic.related.products vcs https://github.com/kowalco/automatic-related-products
  2. Add an access token for the private GitLab repository:

    
    composer config --global --auth github-oauth.github.com <YOUR_TOKEN>
  3. Install the module using Composer:

    
    composer require kowal/module-automatic-related-products
  4. Enable the module:

    
    php bin/magento module:enable Kowal_AutomaticRelatedProducts
  5. Apply database updates:

    
    php bin/magento setup:upgrade
  6. 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.