Implementatiestrategieën voor statische weergavebestanden
Bij het implementeren van statische weergavebestanden kunt u een van de drie beschikbare strategieën kiezen. Elk van hen verstrekt optimale plaatsingsresultaten voor verschillende gebruiksgevallen:
In de volgende secties worden de implementatiedetails en -kenmerken van elke strategie beschreven.
Standaardstrategie
Wanneer de Standaardstrategie wordt gebruikt, worden alle statische meningsdossiers voor alle pakketten opgesteld, dat wil zeggen, verwerkt door \Magento\Framework\App\View\Asset\Publisher
.
Voor meer informatie, zie statische meningsdossiersopstellen.
Snelle strategie
De snelle strategie voert de volgende acties uit:
-
Voor elk thema wordt één willekeurige landinstelling gekozen en worden alle bestanden voor deze landinstelling geïmplementeerd, zoals in de standaardstrategie.
-
Voor alle andere landinstellingen van het thema:
- De dossiers die de opgestelde scène met voeten treden worden bepaald en opgesteld.
- Alle andere bestanden worden beschouwd als vergelijkbaar voor alle landinstellingen en worden gekopieerd van de geïmplementeerde landinstelling.
Deze benadering minimaliseert de plaatsingstijd die voor veelvoudige scènes wordt vereist hoewel veel dossiers worden gedupliceerd.
Compacte strategie
Met de compacte strategie vermijdt u bestandsduplicatie door vergelijkbare bestanden op te slaan in submappen van base
.
Voor het geoptimaliseerde resultaat worden drie bereiken voor mogelijke gelijkenis toegewezen: gebied, thema en landinstelling. De submappen van base
worden gemaakt voor alle combinaties van deze bereiken.
De bestanden worden op basis van de volgende patronen naar deze submappen geïmplementeerd.
<area>/<theme>/<locale>
<area>/<theme>/default
<area>/Magento/base/<locale>
<area>/Magento/base/default
base/Magento/base/<locale>
base/Magento/base/default
Geïmplementeerde bestanden toewijzen
De benadering van plaatsing die in de compacte strategie wordt gebruikt betekent dat de dossiers van basisthema's en scènes worden geërft. Deze overervingsrelaties worden opgeslagen in de kaartbestanden voor elke combinatie van gebied, thema en landinstelling. Er zijn afzonderlijke toewijzingsbestanden voor PHP en JS:
map.php
requirejs-map.js
Het map.php
dossier wordt gebruikt door Magento\Framework\View\Asset\Repository
om correcte URLs te bouwen.
De requirejs-map.js
wordt gebruikt door de baseUrlResolver
-insteekmodule voor RequireJS.
Voorbeeld van map.php
:
return [
'Magento_Checkout::cvv.png' => [
'area' => 'frontend',
'theme' => 'Magento/luma',
'locale' => 'en_US',
],
'...' => [
'area' => '...',
'theme' => '...',
'locale' => '...'
]
];
Voorbeeld van requirejs-map.js
:
require.config({
"config": {
"baseUrlInterceptor": {
"jquery.js": "../../../../base/Magento/base/en_US/"
}
}
});
Tips voor ontwikkelaars van extensies
Gebruik \Magento\Framework\View\Asset\Repository::createAsset()
om URLs aan statische meningsdossiers te bouwen.
Gebruik geen URL-aaneenschakelingen om problemen te voorkomen waarbij statische bestanden niet worden gevonden en niet worden weergegeven tijdens het weergeven van pagina's.