Creare un tema Admin
In certe circostanze, come per esempio nel caso in cui si volesse sovrascrivere un layout od un template dell'area di amministrazione, potrebbe essere necessario creare un nuovo tema Admin.
Quali sono allora i passaggi da compiere?
La prima operazione da svolgere è la generazione, se non esiste, della directory /adminhtml sotto <magento_dir>/app/design e poi l'alberatura delle cartelle del nuovo tema.
Supponendo che il tema si chiami tema (con l'iniziale minuscola) e il vendor WaPoNe, la struttura completa sarà:<magento_dir>/app/design/adminhtml/WaPoNe/tema
Lo step successivo è quello della dichiarazione del tema che viene effettuato attraverso il file <magento_dir>/app/design/adminhtml/WaPoNe/tema/theme.xml fatto in questa maniera:
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nonamespaceschemalocation="urn:magento:framework:Config/etc/theme.xsd">
<title>Tema di WaPoNe</title>
<parent>Magento/backend</parent>
</theme>
Successivamente la registrazione del tema tramite il file <magento_dir>/app/design/adminhtml/WaPoNe/tema/registration.php:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME,
'adminhtml/WaPoNe/tema',
__DIR__
);
Passaggio finale, opzionale, potrebbe essere l'aggiunta di un nuovo logo, differente da quello di default (<magento_dir>/lib/web/images/magento-logo.svg).
La strada più rapida è quella che prevede la "sovrascrittura" del logo di default e per farlo occorre semplicemente creare una nuova cartella (/web/images) nella directory del tema con il seguente risultato finale:<magento_dir>/app/design/adminhtml/WaPoNe/tema/web/imagese all'interno caricarci il nuovo logo con nome esattamente magento-logo.svg.
Se differentemente sideci desse di voler assegnare un nome od un formato diverso all'immagine logo, sarà necessario creare il file default.xml sotto il percorso <magento_dir>/app/design/adminhtml/WaPoNe/tema/Magento_Theme/layout ed andare in esso a dichiarare le caratteristiche del nuovo logo:
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="logo">
<arguments>
<argument name="logo_file" xsi:type="string">images/nuovo_logo.png</argument>
<argument name="logo_width" xsi:type="number">300</argument>
<argument name="logo_height" xsi:type="number">300</argument>
<argument name="logo_alt" xsi:type="string">Nuovo Logo</argument>
</arguments>
</referenceBlock>
</body>
</page>
La registrazione vera e propria del tema avverrà nel momento in cui verrà ricaricata l'area di Admin.