No Magento 2, alguns layouts manipulam arquivos XML abertos com o
<page.../>
etiqueta raiz. Outros abrem com o
<layout.../>
etiqueta raiz. O uso de uma das tags acima introduz diferenças de funcionalidade em um arquivo XML de manipulador de layout? Ou isso é pura limpeza de janela? Ou algo no meio.
Dois exemplos
<!-- 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">
e
<!-- 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/>
arquivo não podem ser incluídos em um arquivo<page/>
<body/>
para o mesmo efeito? Ou eu estou esquecendo de alguma coisa?Os arquivos de layout que abrem
<layout></layout>
são layouts de página que declaram o wireframe de uma página dentro da<body>
seção, por exemplo, layout de uma coluna ou layout de duas colunas.Os arquivos de layout que abrem
<page></page>
são arquivos de configuração de página que adicionam conteúdo ao wireframe definido em um arquivo de layout de página.Aqui está o documento oficial sobre o assunto, informe-nos se ele pode ser melhorado: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-types.html
fonte
<layout>
e outra com<page>
a este artigo .Uma diferença que eu notei é que, como o wireframe de uma página dentro do corpo , é possível recuperar o ajax apenas uma parte do html. Normalmente, se você acertar um controlador, você obtém a página inteira começando com tag. Esses controladores estão retornando objetos de página criados pelo PageFactory, que usa o tipo layout xml. Mas quando você deseja carregar dinamicamente algum phtml com chamada ajax, como formulário de filtro, é útil. Magento_ImportExport altera dinamicamente os filtros de exportação quando a entidade (produto, cliente) é alterada. Este é um exemplo de quando o magento usa (adminhtml_export_getfilter.xml).
fonte