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/images­­e all'interno caricarci il nuovo logo con nome esattamente magento-logo.svg.

Se differentemente si­deci 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.

Categoria: