W Magento 2 niektóre pliki XML obsługi układu otwierają się przy pomocy
<page.../>
znacznik root. Inne otwierają się przy pomocy
<layout.../>
znacznik root. Czy użycie któregokolwiek z powyższych znaczników wprowadza jakiekolwiek różnice w funkcjonalności pliku XML uchwytu układu? A może to czysty sos okienny? Lub coś pomiędzy.
Dwa przykłady
<!-- File: vendor/magento/module-weee/view/frontend/layout/default.xml -->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
i
<!-- File: vendor/magento/module-widget/view/adminhtml/layout/adminhtml_widget_loadoptions.xml -->
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd">
<layout/>
pliku nie mogą być uwzględnione w celu<page/>
<body/>
uzyskania tego samego efektu? A może coś mi brakuje?Pliki układu, które się otwierają,
<layout></layout>
to układy strony, które deklarują szkielet strony w<body>
sekcji, na przykład układ jednokolumnowy lub układ dwukolumnowy.Pliki układu, które otwierają się,
<page></page>
to pliki konfiguracji strony , które dodają treść do szkieletu zdefiniowanego w pliku układu strony.Oto oficjalny dokument na ten temat, daj nam znać, czy można to poprawić: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-types.html
źródło
<layout>
a drugi<page>
w tym artykule .Jedną z różnic, które zauważyłem, jest to, że ponieważ jest to szkielet strony w ciele , możesz ajax pobrać tylko część HTML. Zwykle po naciśnięciu kontrolera cała strona zaczyna się od tagu. Te kontrolery zwracają obiekty strony utworzone przez PageFactory, która używa układu typu xml. Ale gdy chcesz dynamicznie ładować część phtml z wywołaniem ajax jak filtr, jest to pomocne. Magento_ImportExport dynamicznie zmienia filtry eksportu, gdy zmienia się jednostka (produkt, klient). To jest przykład użycia Magento (adminhtml_export_getfilter.xml).
źródło