Comment créer un thème dans la version stable de magento 2?


10

Comment créer un thème dans la version stable de magento 2?

Il existe des didacticiels disponibles pour la version bêta mais pas stables.

Les étapes que j'ai prises sont les suivantes: -

Dossier créé dans l' application / design / frontend / Themevendorname / Themename / dans ce theme.xml & composer.json créé

mais quand je suis allé à l'administrateur stores->configuration->General->Designdans la liste déroulante Thème de conception ........ le nouveau thème n'est pas affiché.

Voici les lignes de composer.json

{
    "name": "themevendorname/theme-frontend-themename",
    "description": "N/A",
    "require": {
        "php": "~5.4.11|~5.5.0",
        "magento/framework": "0.1.0-alpha107",
        "magento/magento-composer-installer": "*"
    },
    "type": "magento2-theme",
    "version": "0.1.0-alpha107",
    "extra": {
        "map": [
            [
                "*",
                "frontend/themevendorname/themename"
            ]
        ]
    }
}

Veuillez vérifier l'image ci-jointe. Une autre chose est que j'ai également créé un dossier nommé theme-frontend-themename dans le fournisseur-> dossier magento et j'ai mis les mêmes dossiers ici aussi, mais je n'obtiens toujours pas ce thème dans le magasin d'administration-> configuration-> Général-> Conception dans ce thème de conception menu déroulant.

Toute aide s'il vous plaît.

entrez la description de l'image ici

Réponses:


6

Tout module, thème ou langue dans Magento2 stable, vous devez créer un registration.phpfichier dans le répertoire contenant module / theme / language. Le chargement registration.phpautomatique de Composer charge tous les fichiers avant l'exécution de Magento2.

Un registration.phpfichier d'un thème suivant app/design/<area>/<Vendor>/<theme_name>/:

<?php

\Magento\Framework\Component\ComponentRegistrar::register(
  \Magento\Framework\Component\ComponentRegistrar::THEME,
'<area>/<VendorName>/<theme_name>',  
__DIR__
);

1
Merci beaucoup Bill ... permettez-moi de vérifier cela rapidement et je reviendrai :) Merci encore :)
KA9

Salut Bill, pouvez-vous indiquer l'emplacement exact du dossier du module car il existe de nombreux dossiers de modules disponibles.
KA9

3
vous devez le créer dansapp/design/<area>/<Vendor>/<theme_name>/
Thao Pham

1
Je ne peux pas expliquer correctement cette question pour vous , mais je pense que dans la version stable, Magento veulent fichier core dans vendor/magento/*et après Magento bientôt Place du marché, ils veulent installer, mettre à jour tous les fichiers de base, un tiers par le compositeur au vendorrépertoire.
Thao Pham

1
Salut, nous vous recommandons de développer dans app / code ou app / design, c'est ainsi que le Magento 2 GitHub est organisé si vous le clonez. Votre registration.phpindique au composant de s'installer sous vendorchaque fois que quelqu'un le déploie.
Steve Johnson

0

vous pouvez utiliser ce lien:

http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-create.html

-Ajouter ou copier à partir d'un theme.xml existant dans votre répertoire de thème app / design / frontend //

-Configurez-le en utilisant l'exemple suivant:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
 <title>New theme</title> <!-- your theme's name -->
 <parent>Magento/blank</parent> <!-- the parent theme, in case your theme inherits from an existing theme -->
 <media>
     <preview_image>media/preview.jpg</preview_image> <!-- the path to your theme's preview image -->
 </media>

-Ajouter registration.php

<?php
/**
 * Copyright © 2015 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::THEME,
    'frontend/<Vendor>/<theme>',
    __DIR__
);
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.