Kowal Custom Header Links dla Magento 2
50,00 zł 50,00 zł
kowal/module-product-features to moduł Magento 2 do prezentowania najważniejszych cech produktu bezpośrednio na karcie produktu. Rozszerzenie zamienia dane zapisane w atrybutach Magento w czytelne, estetyczne i zwijane sekcje, które pomagają klientowi szybciej zrozumieć produkt, porównać jego parametry i podjąć decyzję zakupową.
Moduł został przygotowany z myślą o sklepach, w których standardowa tabela atrybutów jest niewystarczająca: produkty mają cechy użytkowe, zastosowania, technologie, poziomy parametrów, certyfikaty, grafiki, ikony lub dodatkowe opisy CMS. Zamiast pokazywać je jako długą, techniczną listę, sklep może zaprezentować je jako uporządkowane sekcje dopasowane do kontekstu produktu.
Klienci odwiedzający kartę produktu zwykle szukają odpowiedzi na konkretne pytania:
Moduł odpowiada na te potrzeby przez przeniesienie cech produktu z poziomu technicznych danych administracyjnych do czytelnej warstwy zakupowej. Klient nie musi analizować surowych nazw atrybutów ani długich tabel. Otrzymuje sekcje opisane językiem sprzedażowym, wzbogacone ikonami, skalami, obrazami albo blokami treści.
Moduł pomaga uporządkować informacje produktowe w sposób, który wspiera sprzedaż i obsługę klienta:
Moduł wyświetla na karcie produktu zestaw konfigurowalnych sekcji. Każda sekcja może korzystać z jednego atrybutu produktu albo agregować kilka atrybutów w jednym bloku. Administrator decyduje, które cechy są widoczne, w jakiej kolejności się pojawiają i jakim typem prezentacji są renderowane.
Najważniejsze możliwości:
Na stronie produktu moduł dodaje blok z cechami produktu. Sekcje mają nagłówek, treść oraz ikonę wskazującą stan rozwinięcia. Dzięki temu karta produktu pozostaje uporządkowana nawet wtedy, gdy produkt ma dużo informacji dodatkowych.
Sekcje mogą być domyślnie rozwinięte albo zwinięte. To pozwala eksponować najważniejsze informacje od razu, a treści pomocnicze, takie jak specyfikacje, dostawa, zwroty lub dłuższe opisy, zostawić jako dostępne po kliknięciu.
Jeżeli produkt nie ma wartości dla atrybutu używanego w danej sekcji, moduł może ukryć sekcję automatycznie. Dzięki temu klient widzi tylko informacje rzeczywiście dotyczące oglądanego produktu.
Moduł obsługuje wiele sposobów prezentacji danych produktowych.
Typ scale służy do pokazywania atrybutów typu dropdown, które mają 2 lub 3 wartości. Klient widzi pełny kontekst skali, a wybrana wartość produktu jest wyróżniona.
Przykłady zastosowania:
Ten typ prezentacji jest czytelniejszy niż zwykła wartość tekstowa, ponieważ pokazuje, gdzie produkt znajduje się względem pozostałych możliwości.
Typ swatch_list prezentuje wybrane wartości atrybutu multiselect razem ze swatchem. Może to być ikona, kolor lub oznaczenie tekstowe skonfigurowane w Magento.
Przykłady zastosowania:
Klient otrzymuje krótką listę wartości przypisanych do produktu, wzbogaconą o element wizualny.
Typ multiselect_icon pozwala wykorzystać ikony przypisane do opcji atrybutu w module Amasty ShopbyBrand / ShopbyBase. Jeżeli opcja ma obraz w polu Small Image, moduł może pokazać go obok etykiety.
To rozwiązanie jest przydatne, gdy sklep już zarządza ikonami cech, marek, sportów lub zastosowań w konfiguracji Amasty i chce użyć tych samych materiałów na karcie produktu.
Typ cms_blocks korzysta z atrybutu produktu blocks_id. Administrator przypisuje do produktu aktywne bloki CMS, a moduł renderuje każdy wybrany blok jako osobną zwijaną sekcję.
Przykłady zastosowania:
Dzięki temu treści opisowe mogą być zarządzane przez standardowe bloki CMS Magento i przypisywane tylko do wybranych produktów.
Moduł obsługuje także typowe dane atrybutowe:
Pozwala to zbudować zarówno prostą sekcję z jednym parametrem, jak i bardziej rozbudowaną specyfikację z wielu atrybutów.
Dla danych specjalnych moduł udostępnia dedykowane sposoby prezentacji:
yes_no dla wartości tak/nie,checkmark dla pozytywnych cech,date dla dat zgodnych z lokalizacją sklepu,price dla wartości cenowych formatowanych w walucie sklepu,number_with_unit dla liczb z jednostką,range_bar dla wartości pokazywanych jako pasek zakresu,rating_dots dla ocen lub poziomów przedstawionych kropkami.Te warianty pomagają dopasować format danych do sposobu, w jaki klient naturalnie je odczytuje.
Moduł obsługuje również atrybuty obrazkowe:
Może to służyć do prezentowania ikon technologii, certyfikatów, piktogramów, oznaczeń produktowych albo dodatkowych grafik informacyjnych.
Wygląd modułu jest oparty o konfigurację administracyjną i zmienne CSS. Sklep może ustawić globalne kolory, tło sekcji, kolory tekstu, akcenty, obramowania, zaokrąglenia, odstępy i rozmiary fontów bez edycji plików szablonu.
Dodatkowo moduł obsługuje profile wyglądu. Dzięki temu jedna sekcja może mieć standardowy wygląd, inna bardziej kompaktowy, a kolejna może być wyróżniona innym kolorem lub akcentem. To przydatne przy eksponowaniu ważnych treści, np. certyfikatów, technologii lub informacji wpływających na decyzję zakupową.
Moduł sprawdza się szczególnie w sklepach, w których produkt wymaga wyjaśnienia:
Przykładowy układ na karcie produktu może zawierać:
Cechy produktu z kilkoma skalami,Zastosowanie jako lista ikon,Technologie jako lista swatchy,Specyfikacja jako tabela atrybutów,Dostawa, Zwroty i Instrukcja użytkowania.kowal/module-product-features porządkuje informacje produktowe i pozwala prezentować je w formie dopasowanej do decyzji zakupowej klienta. Moduł wykorzystuje istniejące mechanizmy Magento: atrybuty produktu, swatche, bloki CMS, Store View i konfigurację systemową, a następnie zamienia je w czytelne sekcje na stronie produktu.
Efektem jest karta produktu, która lepiej tłumaczy wartość produktu, jest łatwiejsza w skanowaniu i daje administratorom większą kontrolę nad tym, jak cechy produktu są komunikowane klientom.
Ten dokument opisuje konfigurację modułu kowal/module-product-features, znaczenie wszystkich pól administracyjnych oraz pracę z atrybutami po stronie produktu.
Moduł jest przeznaczony do instalacji przez Composer.
composer config repositories.kowal composer https://repo.kowal.store
composer config http-basic.repo.kowal.store <YOUR E-MAIL> <YOUR-TOKEN>
composer require kowal/module-product-features
bin/magento module:enable Kowal_ProductFeatures
bin/magento setup:upgrade
bin/magento cache:flush
Po wdrożeniu produkcyjnym należy uruchomić standardowe komendy właściwe dla projektu, np. kompilację DI i deploy statycznych assetów, zgodnie z trybem działania Magento.
Konfiguracja modułu znajduje się w panelu administracyjnym Magento:
Stores > Configuration > Catalog > Product Features
Ustawienia wyglądu znajdują się w osobnej grupie:
Stores > Configuration > Catalog > Product Features Appearance
Pola konfiguracji są dostępne na poziomie Default, Website i Store View. Dzięki temu różne widoki sklepu mogą mieć inne sekcje cech albo inny wygląd.
Włącza lub wyłącza moduł dla danego zakresu konfiguracji.
Wartości:
Yes - sekcje cech produktu są renderowane na karcie produktu,No - moduł nie zwraca sekcji i blok nie pojawia się na frontendzie.Zastosowanie: szybkie wyłączenie modułu dla całego sklepu, wybranego Website albo Store View bez usuwania konfiguracji sekcji.
Lista sekcji renderowanych na karcie produktu. Każdy wiersz definiuje jedną sekcję frontendową albo grupę sekcji, jeżeli używany jest typ cms_blocks.
Włącza lub wyłącza pojedynczą sekcję.
Wartości:
Yes - sekcja bierze udział w renderowaniu,No - sekcja jest pomijana.Zastosowanie: tymczasowe ukrycie jednej sekcji bez kasowania jej ustawień.
Tytuł sekcji widoczny na karcie produktu.
Przykłady:
Cechy produktu,Zastosowanie Sportowe,Specyfikacja,Technologie,Dostawa.Zastosowanie: nazwa powinna być zrozumiała dla klienta, nie musi odpowiadać technicznej nazwie atrybutu.
Uwaga: dla typu cms_blocks tytuł sekcji potomnej jest pobierany z tytułu bloku CMS.
Pojedynczy atrybut produktu używany przez sekcję. Pole ma formę dropdownu z listą atrybutów produktu.
Zastosowanie: użyj tego pola, gdy sekcja opiera się na jednym atrybucie, np. sport_usage, blocks_id, material, technology_icon.
Lista wielu atrybutów produktu używanych przez jedną sekcję. Pole ma formę multiselectu.
Zastosowanie: użyj tego pola, gdy jedna sekcja ma agregować kilka cech, np. kilka skal w sekcji Cechy produktu albo kilka parametrów w sekcji Specyfikacja.
Przykład: sekcja Cechy produktu może zawierać atrybuty fit, resistance, stretch i breathability, wszystkie renderowane jako skale.
Określa sposób prezentacji wartości atrybutu.
Wartość pusta Auto oznacza automatyczny dobór renderera:
blocks_id jest renderowany jako cms_blocks,swatch_list,scale,selected_label,text_list,checkmark,date,price,text_block,image,text_inline.Dostępne typy:
| Typ | Zastosowanie |
|---|---|
scale |
Skala dla atrybutu select z 2 lub 3 opcjami. |
swatch_list |
Lista wybranych wartości multiselect ze swatchem Magento. |
multiselect_icon |
Lista wybranych wartości multiselect z ikoną Amasty ShopbyBrand / ShopbyBase. |
cms_blocks |
Osobne sekcje tworzone z bloków CMS przypisanych przez blocks_id. |
text_inline |
Krótka wartość tekstowa. |
text_block |
Dłuższy tekst. |
html_block |
Treść HTML z atrybutu. |
accordion_text |
Treść HTML/tekstowa w zwijanej sekcji. |
key_value |
Wiersze etykieta-wartość. |
table |
Dane techniczne w układzie tabelarycznym. |
selected_label |
Etykieta wybranej opcji atrybutu select. |
text_list |
Tekstowa lista wybranych wartości multiselect. |
badge |
Pojedyncza wartość jako badge. |
badge_list |
Lista wartości jako badge. |
icon_value |
Pojedyncza wartość z ikoną. |
icon_list |
Lista wartości z ikonami. |
swatch_grid |
Wybrane wartości multiselect w siatce swatchy. |
yes_no |
Wartość boolean jako Yes albo No. |
checkmark |
Wartość boolean jako pozytywna cecha; widoczna tylko dla wartości prawdziwej. |
date |
Data formatowana zgodnie ze sklepem. |
price |
Cena formatowana przez Magento. |
number_with_unit |
Liczba z jednostką. |
range_bar |
Liczba jako pasek zakresu. |
rating_dots |
Liczba jako aktywne kropki poziomu. |
radial_chart |
Wartość ułamkowa, np. 4/6 albo 7/10, jako wykres kołowy z etykietą atrybutu. |
image |
Pojedynczy obraz z atrybutu obrazkowego. |
image_with_label |
Obraz z podpisem. |
image_grid |
Kilka obrazów w układzie graficznym. |
W panelu administracyjnym część pozycji jest oznaczona jako available in future release. Dotyczy to typów, które są już widoczne na liście konfiguracji, ale nie mają jeszcze własnej, docelowej prezentacji frontendowej:
table,badge,badge_list,icon_value,icon_list,swatch_grid.Kolejność sekcji na karcie produktu. Niższa liczba oznacza wcześniejsze wyświetlenie.
Zastosowanie: ustaw najważniejsze sekcje na początku, np. 10 dla cech głównych, 20 dla zastosowań, 30 dla specyfikacji.
Stan początkowy sekcji na karcie produktu.
Wartości:
Expanded - sekcja jest domyślnie rozwinięta,Collapsed - sekcja jest domyślnie zwinięta.Zastosowanie: najważniejsze treści można pokazać od razu, a dłuższe informacje pomocnicze zostawić zwinięte.
Decyduje, czy sekcja ma zostać ukryta, gdy nie ma danych do pokazania.
Wartości:
Yes - sekcja jest ukrywana, jeżeli produkt nie ma wartości atrybutu albo renderer nie zwróci żadnych elementów,No - sekcja może pozostać widoczna nawet bez elementów.Zastosowanie: najczęściej zalecane jest Yes, aby nie pokazywać klientowi pustych sekcji.
Wybór profilu wyglądu zdefiniowanego w polu Appearance Profiles.
Pole ma formę dropdownu. Administrator nie wpisuje już kodu ręcznie, tylko wybiera gotowy profil z listy, zwykle w formacie code - label.
Zastosowanie: pozwala nadać konkretnej sekcji inny wygląd niż globalny, np. profil compact, highlight albo plain.
Jeżeli pole jest puste i wybrana jest opcja Use global appearance, sekcja używa wyglądu globalnego.
Rekomendowana kolejność pracy:
Appearance Profiles,Feature Sections,Appearance Profile dla odpowiedniej sekcji.Dodatkowa klasa CSS dodawana do sekcji.
Zastosowanie: indywidualne dopasowanie wyglądu w motywie frontendowym, np. product-features-section--technical.
Opcjonalne ustawienia przekazywane do renderera w formacie JSON.
Zastosowanie zależy od typu prezentacji. Przykłady:
{"unit":"cm","precision":1}
Dla number_with_unit:
unit - jednostka, np. cm, %, g/m2,precision - liczba miejsc po przecinku.Dla range_bar:
min - minimalna wartość zakresu,max - maksymalna wartość zakresu,low_label - etykieta początku zakresu,high_label - etykieta końca zakresu.Dla rating_dots:
steps - liczba kropek lub poziomów.Typ radial_chart nie wymaga dodatkowych opcji. Renderer czyta wartość atrybutu albo etykietę opcji w formacie x/y, np. 1/6, 4/6, 7/10.
Przykład dla paska zakresu:
{"min":0,"max":100,"low_label":"Niska","high_label":"Wysoka"}
Przykład dla kropek:
{"steps":5}
Uwaga: pole musi zawierać poprawny JSON. Niepoprawna wartość jest ignorowana przez renderer.
Lista opcjonalnych profili wyglądu, które można przypisać do sekcji przez pole Appearance Profile.
Techniczny kod profilu.
Przykłady:
compact,highlight,plain.Zastosowanie: kod identyfikuje profil wewnętrznie i jest używany jako wartość opcji w dropdownie Appearance Profile przy sekcji.
Opisowa nazwa profilu widoczna dla administratora.
Zastosowanie: ułatwia rozpoznanie profilu w konfiguracji, np. Kompaktowy, Wyróżniony, Neutralny. W połączeniu z kodem tworzy czytelną etykietę na liście wyboru profili w Feature Sections.
Kolor tła sekcji dla profilu.
Zastosowanie: wyróżnienie wybranych sekcji lub dopasowanie do motywu.
Kolor podstawowego tekstu w sekcji.
Kolor tytułu sekcji.
Kolor akcentu, np. elementów aktywnych, kropek skali albo wyróżnień.
Kolor tła elementów akcentowych.
Kolor linii, separatorów, osi skali i obramowań.
Kolor ikony rozwijania i zwijania sekcji.
Zaokrąglenie rogów sekcji.
Przykłady: 0, 8px, 18px.
Wewnętrzny odstęp sekcji.
Przykłady: 16px, 24px, 28px.
Rozmiar tekstu etykiet cech w sekcji.
Przykłady: 16px, 18px, 21px, 1.25rem.
Ta grupa zawiera globalny wygląd sekcji. Ustawienia są zamieniane na zmienne CSS i stosowane do wrappera modułu.
Kolor tła sekcji.
Domyślnie: #f4f4f4.
Podstawowy kolor tekstu w sekcji.
Domyślnie: #000000.
Kolor nagłówka sekcji.
Domyślnie: #000000.
Kolor tekstów pomocniczych i mniej istotnych.
Domyślnie: #555555.
Kolor elementów aktywnych i wyróżnień.
Domyślnie: #000000.
Kolor tła elementów aktywnych, np. zaznaczeń.
Domyślnie: #ffffff.
Kolor obramowań, separatorów i osi skali.
Domyślnie: #9b9b9b.
Kolor ikony + / - w nagłówku sekcji.
Domyślnie: #000000.
Kolor tekstu wybranej wartości.
Domyślnie: #000000.
Grubość fontu wybranej wartości.
Domyślnie: 700.
Przykłady: 400, 500, 600, 700, bold.
Zaokrąglenie kontenera sekcji.
Domyślnie: 18px.
Wewnętrzny odstęp sekcji.
Domyślnie: 28px.
Odstęp pomiędzy sekcjami.
Domyślnie: 16px.
Rozmiar fontu nagłówka sekcji.
Domyślnie: 20px.
Przykłady: 18px, 20px, 1.25rem, clamp(18px, 2vw, 22px).
Rozmiar fontu etykiet cech i etykiet wartości.
Domyślnie: 21px.
Rozmiar fontu podstawowej treści sekcji.
Domyślnie: 16px.
Moduł nie tworzy osobnego systemu danych produktowych. Korzysta z atrybutów produktu Magento, dlatego zarządzanie treścią odbywa się głównie w edycji produktu.
Catalog > Products.Product Features i ustaw pole CMS Blocks.Sekcja pojawi się na frontendzie tylko wtedy, gdy:
Hide Empty.blocks_id / CMS BlocksPodczas setup:upgrade moduł dodaje atrybut produktu:
blocks_id,CMS Blocks,text,multiselect,Product Features,Pole CMS Blocks pozwala przypisać do produktu aktywne bloki CMS. Każdy wybrany blok zostanie wyrenderowany jako osobna sekcja, jeżeli w konfiguracji modułu istnieje sekcja z:
Attribute Code: blocks_id,Display Type: cms_blocks.Tytuł sekcji na frontendzie pochodzi z tytułu bloku CMS, a treść z zawartości bloku. Bloki nieaktywne albo niedostępne dla Store View nie są renderowane.
Bloki używane przez blocks_id tworzy się standardowo w Magento:
Content > Elements > Blocks
Zalecenia:
Atrybut blocks_id jest przygotowany do pracy z masową edycją produktów.
Catalog > Products.Update Attributes.CMS Blocks.Zastosowanie: szybkie przypisanie tej samej sekcji CMS, np. Dostawa, Zwroty albo Instrukcja pielęgnacji, do wielu produktów jednocześnie.
Dla typu scale używaj atrybutów select z 2 lub 3 aktywnymi opcjami.
Przykład:
fit,Luźny, Regularny, Dopasowany.Produkt powinien mieć wybraną jedną z opcji. Moduł pokaże wszystkie opcje skali i wyróżni tę przypisaną do produktu.
Jeżeli atrybut ma mniej niż 2 albo więcej niż 3 opcje, renderer scale pominie ten atrybut.
Dla list cech, zastosowań, technologii lub certyfikatów używaj atrybutów multiselect.
Możliwe typy prezentacji:
text_list,badge_list,swatch_list,swatch_grid,multiselect_icon,icon_list.Produkt może mieć wybranych kilka wartości. Moduł renderuje tylko wartości przypisane do produktu.
Jeżeli atrybut multiselect korzysta ze swatchy Magento, można użyć typu swatch_list albo swatch_grid.
Zastosowanie:
Jeżeli opcja ma swatch obrazkowy, moduł pokaże obraz. Jeżeli ma swatch kolorystyczny albo tekstowy, moduł użyje odpowiedniego wariantu.
Dla typu multiselect_icon moduł próbuje pobrać ikonę opcji z Amasty ShopbyBrand / ShopbyBase.
Źródło ikony:
Shop by Brand > Option Edit > Other > Small Image
Tekst alternatywny pochodzi z Small Image Alt, a jeżeli go brakuje, z etykiety opcji.
Jeżeli Amasty nie jest zainstalowane albo opcja nie ma ikony, moduł pokaże samą etykietę.
Dla krótkich informacji używaj text_inline, key_value albo badge.
Dla dłuższych opisów używaj text_block, accordion_text albo html_block.
Uwaga: html_block i accordion_text renderują HTML, dlatego powinny być używane wyłącznie dla zaufanych treści administracyjnych.
Dla wartości liczbowych można użyć:
number_with_unit - gdy liczba wymaga jednostki,range_bar - gdy wartość ma być pokazana jako postęp w zakresie,rating_dots - gdy wartość opisuje poziom lub ocenę.Przykład Renderer Options JSON dla liczby z jednostką:
{"unit":"%","precision":0}
Dla atrybutów tak/nie użyj:
yes_no, gdy klient ma zobaczyć zarówno Yes, jak i No,checkmark, gdy cecha ma być widoczna tylko wtedy, gdy produkt ją posiada.Dla atrybutów typu obraz można użyć:
image,image_with_label,image_grid.Moduł buduje adres obrazu na podstawie katalogu mediów produktu Magento i używa etykiety atrybutu jako tekstu alternatywnego.
Sekcja kilku skal:
| Pole | Wartość |
|---|---|
| Enabled | Yes |
| Section Title | Cechy produktu |
| Attribute Codes | fit, resistance, stretch, breathability |
| Display Type | scale |
| Sort Order | 10 |
| Default State | Expanded |
| Hide Empty | Yes |
Sekcja zastosowań z ikonami:
| Pole | Wartość |
|---|---|
| Enabled | Yes |
| Section Title | Zastosowanie Sportowe |
| Attribute Code | sport_usage |
| Display Type | multiselect_icon |
| Sort Order | 20 |
| Default State | Collapsed |
| Hide Empty | Yes |
Sekcje CMS:
| Pole | Wartość |
|---|---|
| Enabled | Yes |
| Section Title | Informacje dodatkowe |
| Attribute Code | blocks_id |
| Display Type | cms_blocks |
| Sort Order | 30 |
| Default State | Collapsed |
| Hide Empty | Yes |
Jeżeli sekcja nie pojawia się na frontendzie, sprawdź:
Enabled modułu ma wartość Yes,Enabled = Yes,Attribute Code albo Attribute Codes,Display Type pasuje do typu atrybutu,Hide Empty nie ukrywa pustej sekcji,