Chcę usunąć niektóre bloki z mojej strony. Powiedz na przykład, że chcę usunąć pojemnik na logo.
Następnie tworzę /app/design/frontend/MYVENDORNAME/MYTHEMENAME/Magento_Theme/layout/default.xml
za pomocą następującego kodu:
<page layout="3columns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<referenceBlock name="logo" remove="true"/>
</page>
W tym przypadku udało mi się znaleźć nazwę (nazwa = „logo”) tego bloku referencyjnego, przeszukując pliki w temacie podstawowym.
Pytanie brzmi: czy istnieje lepszy sposób na znalezienie nazw bloków. Myślę, że musi istnieć lista wszystkich nazw używanych w plikach XMl w Magento? A może jakieś odniesienie?
Powiedz na przykład, że chciałbym usunąć menu ( <div class="sections nav-sections">...</div>
). Jak mogę znaleźć nazwę tego
catalog.topnav
. znajduję go w default.xml w module Motyw w bazie.Odpowiedzi:
Można to zrobić na kilka sposobów:
Możesz włączyć podpowiedzi do ścieżek i podpowiedzi blokować, logując się do interfejsu administratora i przechodząc do:
Niestety, o ile wiem, wciąż nie ma pewnego sposobu na ich łatwe znalezienie. Chociaż wygląda na to, że faceci pracujący nad rdzeniem się tym zajęli:
https://github.com/magento/magento2/issues/571
źródło
Oto jak je znajduję ...
Treść > Widżety > Dodaj
typ widżetu = CMS Static Block
Design Theme = [Your Theme]
Kontyntynuj
Aktualizacje układu > Dodaj
wyświetlanie układu włączone = [Wybierz jeden]
Kliknij prawym przyciskiem Sprawdzić na „Wybierz” pod pojemnikiem.
Rozwiń
<select>
element w Narzędziach dla programistówWszystkie wartości = są opcją referencyjną Nazwy kontenerów
:)
źródło
Możesz wykonać poniższy kod php-cli, aby uzyskać listę wszystkich ~ 200
referenceBlock
. Upewnij się, że ścieżka do folderu głównego Magento 2 jest poprawna. Można również zmienićinstruction
zmienną do listyblock
,container
ireferenceContainer
.źródło
Możesz użyć tego bezpłatnego rozszerzenia:
https://github.com/ho-nl/magento2-Ho_Templatehints
Lub po @blizam odpowiedz na niektóre referencje wybrane z widżetów:
Po nagłówku strony> page.top
Po nagłówku strony Góra> top.kontener
Przed kolumnami głównymi> columns.top
Przed stopką strony> page.bottom
Przed kontenerem stopki strony> page.bottom.container
Linki stopki CMS> cms_footer_links_container
Porównaj opakowanie otoki> porównaj opakowanie otoki
Główny obszar treści> treść
Główna treść na boku> content.aside
Main Content Bottom> content.bottom
Główny kontener zawartości> główny
Główna treść Góra> content.top
Blok promocyjny mini-koszyka> minicart.addons
Page Bottom> before.body.end
Stopka strony> stopka
Strona Kontener stopki> kontener stopki
Nagłówek strony> opakowanie nagłówka
Kontener nagłówka strony> header.container
Panel nagłówka strony> header.panel
Góra strony> after.body.start
Pasek boczny Dodatkowe> sidebar.additional
Pasek boczny Główny> pasek boczny
źródło
Złożyłem mały moduł, który zapisze strukturę strony XML do pliku dziennika w
var/log/
folderze.app / code / CustomerParadigm / PageXml / etc / module.xml
app / code / CustomerParadigm / PageXml / etc / events.xml
app / code / CustomerParadigm / PageXml / register.php
app / code / CustomerParadigm / PageXml / Model / Layout.php
Nie dzieje się tu nic niesamowitego i jestem pewien, że jest dużo miejsca do ulepszenia (praca z wbudowanym loggerem jest jednym z nich), ale robi to dla mnie, gdy tworzę witrynę.
źródło
https://gist.github.com/joshfortyfour/11d0f7dbc7be9e85bf4e9c62c668f465
@tutaj znajdziesz listę kontenerów, nadal trudno jest znaleźć właściwy, ale wiem, że możesz znaleźć właściwy.
lub jak wyżej, ktoś udostępnia bezpłatny link do modułu, aby znaleźć pojemnik lub blok w Magento, próbowałem, ale nadal jest to trochę przydatne w odniesieniu do wędrowania po sieci.
źródło