Magento 2: Narzędzie template path hints
W Magento 2, kiedy potrzebujemy dokonać modyfikacji specyficznego miejsca, potrzebujemy wiedzieć, jaka klasa bloku oraz jaka templata jest w danym miejscu używana. Magento 2 udostępnia nam do tego narzędzie template path hints, która pozwala wyświetlić dodatkowe informacje o poszczególnych elementach strony. Zarówno po stronie frontu jak i po stronie admina. Za pomocą niego dowiemy się jakie klasy i pliki templat są odpowiedzialne za wyświetlenie poszczególnych elementów strony.
Wpis zawiera informacje jak skonfigurować narzędzie template path hints zarówno z poziomu admina jak i poleceń konsoli.
Ustawienie template path hints z panelu admina
Poniżej, krok po kroku opisano, co należy ustawić w panelu admina.
- Potrzebujemy wejść kolejno w Stores ⮞ Configuration ⮞ Advanced ⮞ Developer ⮞ Debug.
- W zależności od tego, gdzie chcemy wyświetlić podpowiedzi, ustawiamy wybrane pole na Yes:
- Front: Enable Template Path Hints for Storefront,
- Admin: Enable Template Path Hints for Admin.
- Jeśli potrzebujemy, możemy również wyświetlić klasy dla bloków, ustawiamy opcje Add Block Class Type to Hints na Yes.
- Zapisujemy konfigurację.
- Na koniec potrzebujemy wyczyścić cache.
Opcja Enable Hint for Storefront with URL Parameter pozwala na uruchomienie podpowiedzi, kiedy w adresie badanej stronie dodamy do url parametr templatehints. Przykład:
1 |
https://<site_url>/joust-duffle-bag.html?templatehints=magento |
Ustawienie template path hints za pomocą wiersza poleceń
Wpisując w wiersz poleceń bin/magento list, otrzymamy listę wszystkich poleceń. Funkcjonalność, którą chcemy ustawić, należy do poleceń z puli „dev”. Poniżej lista przydatnych komend:
Ustawienie trybu developer:
1 |
bin/magento deploy:mode:set developer |
Włączenie podpowiedzi template path hints:
1 |
bin/magento dev:template-hints:enable |
Wyłączenie podpowiedzi template path hints:
1 |
bin/magento dev:template-hints:disable |
Czyszczenie cache:
1 |
bin/magento cache:clean |
Czyszczenie cache, jeśli opcja z „clean” nie zadziałała:
1 |
bin/magento cache:flush |
Pierwsza komenda włączy nam podpowiedzi. Jeśli jednak chcemy włączyć podpowiedzi również dotyczące klas bloków, potrzebujemy ustawić opcję Add Block Class Type to Hints w adminie.
Ustawienie template path hints za pomocą komendy config:set
Ustawienia narzędzia template path hints możemy również dokonać za pomocą komendy ustawiającej wartość w konfiguracji zapisanej w tabeli core_config_data. To zarządzania nimi mamy takie komendy:
Zmiana konfiguracji systemowej:
1 |
bin/magento config:set |
Odczytanie wartości dla określonej ścieżki „path” z konfiguracji:
1 |
bin/magento config:show |
Jeśli ścieżka nie jest podana, wyświetlana jest pełna lista zapisanych wartości w tabeli core_config_data.
Komenda config:set z parametrem –help na końcu, otrzymamy dodatkowe informacje:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
app@e713cd79e171:~/html$ bin/magento config:set --help Description: Change system configuration Usage: config:set [options] [--] <path> <value> Arguments: path Configuration path in format section/group/field_name value Configuration value Options: --scope=SCOPE Configuration scope (default, website, or store) [default: "default"] --scope-code=SCOPE-CODE Scope code (required only if scope is not 'default') -e, --lock-env Lock value which prevents modification in the Admin (will be saved in app/etc/env.php) -c, --lock-config Lock and share value with other installations, prevents modification in the Admin (will be saved in app/etc/config.php) -l, --lock Deprecated, use the --lock-env option instead. -h, --help Display help for the given command. When no command is given display help for the list command -q, --quiet Do not output any message -V, --version Display this application version --ansi|--no-ansi Force (or disable --no-ansi) ANSI output -n, --no-interaction Do not ask any interactive question -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug |
Przejdźmy teraz do części, jak ustawić interesujące nas opcje.
Dla poniższych konfiguracji w adminie:
Kolejno, z tabeli core_config_data odpowiadają następujące ścieżki:
- dev/debug/template_hints_storefront,
- dev/debug/template_hints_storefront_show_with_parameter,
- dev/debug/template_hints_admin (scope_id zawsze 0, ponieważ dostęp tylko z admina),
- dev/debug/template_hints_blocks.
Przykładowo, żeby włączyć wspomnianą opcję Add Block Class Type to Hints, potrzebujemy ustawić wartość „1” dla ścieżki dev/debug/template_hints_blocks. Użycie komendy będzie więc następujące:
1 |
bin/magento config:set dev/debug/template_hints_blocks 1 |
Po wyczyszczeniu cache’u powinna wyświetlać się dodatkowa informacja o klasach blokach.
Lista komend do włączenia poszczególnych opcji:
1 2 3 4 |
bin/magento config:set dev/debug/template_hints_storefront 1 bin/magento config:set dev/debug/template_hints_storefront_show_with_parameter 1 bin/magento config:set dev/debug/template_hints_admin 1 bin/magento config:set dev/debug/template_hints_blocks 1 |
Lista komend do wyłączenia opcji:
1 2 3 4 |
bin/magento config:set dev/debug/template_hints_storefront 0 bin/magento config:set dev/debug/template_hints_storefront_show_with_parameter 0 bin/magento config:set dev/debug/template_hints_admin 0 bin/magento config:set dev/debug/template_hints_blocks 0 |
Po każdej takiej zmianie pamiętaj o wyczyszczeniu cache’a.
Tworzenie nowego bloku w Magento 2 - Web Programming
8 listopada 2023 @ 03:04
[…] Teraz potrzeba znaleźć miejsce, gdzie podpiąć nasz blok. Pokażę, do jakiego zajrzeć modułu i w jakie pliki konfiguracyjne zaglądnąć. Możliwe jest tutaj też użycie dedykowanego narzędzia, które oferuje Magento, a mianowicie Template path hints. […]
Pluginy w Magento 2 - Web Programming
4 grudnia 2023 @ 03:00
[…] najpierw odnaleźć jaki blok za to odpowiada. Możemy w tym celu włączyć template path hints. Dla strony produktu odpowiadający plik layoutu ma nazwę catalog_product_view.xml, sama definicja […]