Cette méthode fonctionne pour Magento 1 mais pas pour Magento 2 (version 0.42.0-beta10): http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/admin/using_custom_admin_theme_templates
Cette méthode fonctionne pour Magento 1 mais pas pour Magento 2 (version 0.42.0-beta10): http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/admin/using_custom_admin_theme_templates
Réponses:
Le processus est assez similaire à la création d'un thème pour le frontend.
1. Créez theme.xml dans
app/design/adminhtml/<yourpackage>/<yourtheme>/theme.xml
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>Magento 2 backend</title>
<parent>Magento/backend</parent> // set parent theme
</theme>
2. Enregistrez le thème dans
app/design/adminhtml/<yourpackage>/<yourtheme>/registration.php
3. Activez le thème.
you can enable frontend theme in admin, but for backend you need to enable the theme through di.xml
dans app/code/Magento/Theme/etc/di.xml
, vous pouvez trouver un bloc de code ci-dessous. ajoutez ce bloc de code à votre module et remplacez adminhtml par votre package d'administration et le nom du thème.
<type name="Magento\Theme\Model\View\Design">
<arguments>
<argument name="themes" xsi:type="array">
<item name="frontend" xsi:type="string">Magento/luma</item>
<item name="adminhtml" xsi:type="string">Magento/backend</item>
</argument>
</arguments>
</type>
Maintenant, vous pouvez remplacer quelque chose dans votre thème d'administration pour voir si cela fonctionne.
setup:static-content:deploy
Le système de thème a un peu changé dans Magento 2 mais il y a des similitudes.
Vous devez d'abord créer un dossier de thèmes dans app/design/frontend
. La structure des dossiers est similaire à la structure des modules. Vous devez avoir un nom de fournisseur (dans Magento 1 était appelé package) et un dossier de thème.
Alors créez app/design/frontend/Vendor/theme
.
Ensuite, vous devez déclarer votre thème.
vous devez créer dans votre dossier de thème un fichier theme.xml
avec le contenu suivant:
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Config/etc/theme.xsd">
<title>Your theme name</title>
<parent>Magento/blank</parent><!-- or any other parent theme similar to Magento 1.9 -->
<media>
<preview_image>media/preview.jpg</preview_image>
</media>
</theme>
puis créez une image d'aperçu de votre thème à l'intérieur de votre thème dans le media
dossier (créez-le également) et appelez l'image d'aperçu preview.jpg
(comme déclaré dans le XML ci-dessus).
Maintenant, votre thème est défini.
Si vous voulez changer quelque chose du thème parent, tout ce que vous avez à faire est de copier le fichier que vous voulez changer (mise en page, modèle) dans votre thème depuis le module spécifique et faites votre magie.
Par exemple , si vous voulez changer la façon que la vue du produit ressemble la page comme copier le fichier app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml
à app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xml
modifier ce qui vous avez besoin.
Plus de détails sur la création d'un thème peuvent être trouvés ici .
J'ai également trouvé un exemple de thème que vous pouvez utiliser comme ligne directrice .
Vous pouvez également installer les exemples de données officiels et vous obtiendrez un thème appelé luma
où vous pouvez voir la structure des dossiers.
frontend
utilisées adminhtml
dans la structure des dossiers. Le principe est le même.
Dans le cas où quelqu'un a des problèmes avec la génération de fichiers statiques pour le thème d'administration nouvellement créé. Pour que magento génère des fichiers pour le thème backend lors de la configuration: static-content: deploy, le app/design/adminhtml/<yourpackage>/<yourtheme>/web/
dossier doit contenir des fichiers. N'importe quel fichier factice ferait l'affaire.
Pour créer un thème administrateur, veuillez suivre les liens ci-dessous, cela doit fonctionner.