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.

PatroonBeschrijving
<area>/<theme>/<locale>Bestanden die specifiek zijn voor een bepaald gebied, thema en landinstelling
<area>/<theme>/defaultBestanden die vergelijkbaar zijn voor alle landinstellingen van een bepaald thema in een bepaald gebied.
<area>/Magento/base/<locale>Bestanden die specifiek zijn voor een bepaald gebied en een bepaalde landinstelling, maar die vergelijkbaar zijn voor alle thema's.
<area>/Magento/base/defaultBestanden die specifiek zijn voor een bepaald gebied, maar vergelijkbaar voor alle thema's en landinstellingen.
base/Magento/base/<locale>Bestanden die vergelijkbaar zijn voor alle gebieden en thema's, maar specifiek zijn voor een bepaalde landinstelling.
base/Magento/base/defaultVergelijkbaar voor alle gebieden, thema's en landinstellingen.

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\Repositoryom 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.

Vorige paginaGegevens importeren
Volgende paginaStatische weergavebestanden gebruiken

Commerce