Dans le theme
tableau, il y a un type
champ avec 3 valeurs possibles: physique, virtuel et intermédiaire.
Quand utiliser le thème physique virtuel et de mise en scène?
Lorsque j'ai étendu le thème luma, mon nouveau thème apparaît dans la table des thèmes en tant que type virtuel. Mais il semble que ce type ne permette pas de remplacer certains fichiers, et le changement de type de thème de virtuel à physique me permet d'étendre par exemple le Magento_Theme
package.
0: Physical - Magento Default Theme (Example: Magento Blank, Magento Luma, Magento 2 Backend) 1: Virtual - Custom Theme which is created by you (custom) which has parent as Default Theme (Example: My Theme) 2: Staging - ?
vendor\magento\module-theme\Model\Theme\Registration.php
/** Allowed sequence relation by type, array(parent theme, child theme) * @var array */ protected $_allowedRelations = [ [ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_VIRTUAL], [ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_STAGING],]; /** Forbidden sequence relation by type ** @var array*/ protected $_forbiddenRelations = [[ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_VIRTUAL],[ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_STAGING],];
Réponses:
Il existe 3 types différents définis dans
Magento/Framework/View/Design/ThemeInterface
:Thèmes physiques
Physique fait référence au fait que ces thèmes sont définis par des fichiers. Par exemple, le thème vide et luma sont physiquement définis sous
app/design/frontend/
Thèmes virtuels
Ce n'est pas encore clair, mais je pense que les thèmes virtuels se réfèrent à des thèmes que vous pouvez créer dans le backend qui étend les thèmes physiques existants, mais il semble que ce ne soit pas encore complètement implémenté.
Vous pouvez voir qu'il y a deux onglets disponibles dans la section d'édition uniquement pour les thèmes virtuels qui vous permettent de fournir des CSS et JS personnalisés pour un thème virtuel.
Je pense qu'un thème virtuel serait quelque chose que vous configurez temporairement (comme le thème de Noël) pour une courte période de thème et qui ne nécessite que peu de modifications de conception par rapport au thème physique qu'il étend.
Il n'y a pas encore de bouton Ajouter un thème virtuel disponible, mais si vous exécutez la requête SQL suivante, vous pouvez configurer un thème virtuel et vous verrez l'onglet CSS et JS lors de sa modification:
Et c'est parti, deux onglets supplémentaires et des boutons Enregistrer / Supprimer:
Thèmes de mise en scène
Je pense que les thèmes de mise en scène sont liés à la fonctionnalité de mise en scène de Magento 2.1 EE: http://devdocs.magento.com/guides/v2.1/extension-dev-guide/staging/Staging.html
Je suppose que vous pouvez avoir un thème de mise en scène lors de l'utilisation d'une campagne, mais je ne suis pas sûr à 100%.
la source
type
colonne sur latheme
table: j'ai créé un thème et latype
valeur a été définie1
(au lieu de la valeur par défaut0
). Toutes mes modifications LESS / JS ont fonctionné, mais Magento ne lirait aucun fichier de disposition de mon thème tant que je n'aurais pas changé latype
valeur en0
. Plus d'informations à ce sujet ici: nahuelsanchez.com/…