Estrategias de implementación para archivos de vista estática
Al implementar archivos de vista estática, puede elegir una de las tres estrategias disponibles. Cada uno de ellos proporciona resultados de implementación óptimos para diferentes casos de uso:
En las secciones siguientes se describen los detalles y las características de implementación de cada estrategia.
Estrategia estándar
Cuando se utiliza la estrategia estándar, se implementan todos los archivos de vista estática de todos los paquetes, es decir, se procesan mediante \Magento\Framework\App\View\Asset\Publisher
.
Para obtener más información, vea Implementar archivos de vista estática.
Estrategia rápida
La estrategia rápida realiza las siguientes acciones:
-
Para cada tema, se elige una configuración regional arbitraria y se implementan todos los archivos para esta configuración regional, como en la estrategia estándar.
-
Para todas las demás configuraciones regionales de la temática:
- Los archivos que anulan la configuración regional implementada se definen e implementan.
- Todos los demás archivos se consideran similares para todas las configuraciones regionales y se copian de la configuración regional implementada.
Este método minimiza el tiempo de implementación necesario para varias configuraciones regionales, aunque se dupliquen muchos archivos.
Estrategia compacta
La estrategia compacta evita la duplicación de archivos al almacenar archivos similares en base
subdirectorios.
Para el resultado más optimizado, se asignan tres ámbitos para una posible similitud: área, tema y configuración regional. Los subdirectorios base
se crean para todas las combinaciones de estos ámbitos.
Los archivos se implementan en estos subdirectorios según los siguientes patrones.
<area>/<theme>/<locale>
<area>/<theme>/default
<area>/Magento/base/<locale>
<area>/Magento/base/default
base/Magento/base/<locale>
base/Magento/base/default
Asignación de archivos implementados
El método de implementación utilizado en la estrategia compacta significa que los archivos se heredan de los temas base y las configuraciones regionales. Estas relaciones de herencia se almacenan en los archivos de asignación para cada combinación de área, tema y configuración regional. Hay archivos de mapa independientes para PHP y JS:
map.php
requirejs-map.js
Magento\Framework\View\Asset\Repository
utiliza el archivo map.php
para generar las direcciones URL correctas.
El complemento baseUrlResolver
utiliza requirejs-map.js
para RequireJS.
Ejemplo de map.php
:
return [
'Magento_Checkout::cvv.png' => [
'area' => 'frontend',
'theme' => 'Magento/luma',
'locale' => 'en_US',
],
'...' => [
'area' => '...',
'theme' => '...',
'locale' => '...'
]
];
Ejemplo de requirejs-map.js
:
require.config({
"config": {
"baseUrlInterceptor": {
"jquery.js": "../../../../base/Magento/base/en_US/"
}
}
});
Sugerencias para desarrolladores de extensiones
Para generar direcciones URL en archivos de vista estática, use \Magento\Framework\View\Asset\Repository::createAsset()
.
No utilice concatenaciones de URL para evitar problemas con los archivos estáticos que no se encuentran y no se muestran durante la representación de la página.