[JAVA] Comment créer un thème dans Liferay 7 / DXP

introduction

Liferay dispose d'un mécanisme appelé Thème pour contrôler l'apparence de l'écran. En changeant de thème, vous pouvez changer l'apparence du site.

De plus, dans Liferay, contrairement à Wordpress etc., le contrôle des colonnes peut être contrôlé indépendamment par un mécanisme appelé Layout. Cela facilite la création de différentes combinaisons de mise en page avec le même thème.

Installation d'outils de développement

Le développement de thèmes utilise des outils tels que yo et gulp qui sont utilisés dans le développement frontal général. Voici la méthode de paramétrage sur Mac.

Installation du nœud (en supposant que homebrew est installé)

Avec El capitan, l'installation du nœud via homebrew ne fonctionne pas, alors désinstallez le node.js déjà installé, installez d'abord nodebrew en utilisant la méthode suivante, puis réinstallez node.js.

curl -L git.io/nodebrew | perl - setup

Ajoutez la ligne suivante à .bash_profile

.bash_profile


export PATH=$HOME/.nodebrew/current/bin:$PATH

installation du nœud

(Si nodebrew installe stable, la compilation à partir des sources prend du temps, alors installez le binaire)

nodebrew install-binary stable

Installez Yeoman, avalez

npm install -g yo gulp

Installer le générateur de thèmes Liferay

npm install -g generator-liferay-theme

Installez SASS, boussole

gem install sass compass

Installation de l'outil de lame

Voir Official Document: INSTALLING BLADE CLI

Créer un espace de travail Liferay

Document officiel: CRÉER UN ESPACE DE TRAVAIL DE VIE AVEC BLADE CLI référence

(Mon article Comment créer un portlet de générateur de service dans Liferay DXP / 7 mentionne également l'installation de Blade et la création d'un espace de travail Liferay. Voir également.)

Création de thème

Si l'espace de travail Liferay créé est défini sur liferay_workspace, accédez à liferay_workspace / themes. Le nom du projet du thème est liferay-theme ici, et la commande suivante est exécutée.

yo liferay-theme

Une invite apparaîtra, alors entrez-la conformément aux instructions. Ensuite, entrez le tomcat cible et l'URL de la destination d'accès comme suit.

? Enter the path to your app server directory: /Users/yasuflatland/project/70ce/tomcat-8.0.32
? Enter the url to your production or development site: http://localhost:8080

Dans un projet réel, il est recommandé de créer un thème basé sur Lexicon (directives de conception basées sur Bootstrap adoptées à partir de Liferay7 / DXP). Devenir. ce temps,

** Comment créer un thème similaire au thème par défaut de DXP (version EE) **

  1. Créez normalement un thème avec le thème yo life ray.
  2. Décompressez / osgi / marketplace / Liferay CE Foundation.lpkg et décompressez classic-theme-1.0.5.war. (Le nom de la version de la partie 1.0.5 change en fonction de la version de DXP)
  3. Développez et combinez css, images, js, modèles directement sous classic-theme-1.0.5 dans le src du thème créé en 1.
  4. Déployez avec gulp deploy.

** Application du thème classique (conception de la version CE) ** Si vous tapez gulp kickstart, le thème sera initialisé en fonction de la version CE du thème classique.

Déployer

La commande gulp suivante sera utilisée pour déployer sur le serveur spécifié lors de la création du thème. Pour modifier la destination de déploiement, modifiez le contenu de liferay-theme.json.

gulp deploy

Étant donné que le cache est efficace du côté Liferay et que la mise à jour n'est pas reflétée dans de nombreux cas, ajoutez et modifiez ce qui suit sur le portal-ext.properties et l'interface graphique de Liferay.

portal-ext.properties


theme.css.fast.load=false
layout.template.cache.enabled=false
minifier.enabled=false

LiferayGUI


·Panneau de configuration>Réglage>Paramètres système>Moteur de vitesse>Éditer
Resource modification check interval=0 
·Panneau de configuration>Réglage>Paramètres système>Moteur FreeMarker>Éditer
Resource modification check=0

Lors de la gestion du code avec Git, etc.

Le modèle de thème généré par la commande yo n'inclut pas node_modules, donc après le clonage depuis git,

npm install

Installez le module de nœud avec.

Diverses commandes

Vérifiez l'état du thème actuel

gulp status 

Lors du changement du thème de base du thème, etc.

gulp extend

Déployer

gulp deploy

Comment faire une mise en page

Vous pouvez également créer un modèle de mise en page avec la commande suivante. Un squelette peut être créé avec la commande suivante, bien que cela nécessite un travail manuel pour le rendre imbriqué de manière compliquée.

yo liferay-theme:layout

Recommended Posts

Comment créer un thème dans Liferay 7 / DXP
Comment créer un portlet de générateur de services dans Liferay 7 / DXP
Comment créer facilement un pull-down avec des rails
Comment créer une méthode
Comment créer un environnement Java en seulement 3 secondes
Comment créer un projet Spring Boot dans IntelliJ
Comment créer un URI de données (base64) en Java
Comment créer une partie d'espace réservé à utiliser dans la clause IN
Comment insérer une vidéo dans Rails
Comment créer un référentiel Maven pour 2020
[Swift5] Comment créer un écran de démarrage
[rails] Comment créer un modèle partiel
Comment publier une bibliothèque dans jCenter
Comment créer un nouveau projet Gradle + Java + Jar dans Intellij 2016.03
Comment créer une base de données H2 n'importe où
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
Comment créer une requête à l'aide de variables dans GraphQL [Utilisation de Ruby on Rails]
Comment afficher une page Web en Java
Comment appeler des bibliothèques telles que JQuery et JQuery UI dans Liferay 7 / DXP
Essayez de créer un babillard en Java
Comment créer des pages pour le tableau "kaminari"
Comment créer une classe qui hérite des informations de classe
Comment exécuter une tâche djUnit dans Ant
Comment ajouter un chemin de classe dans Spring Boot
[1st] Comment créer un projet de framework Spring-MVC
Comment implémenter une fonctionnalité similaire dans Rails
Comment créer docker-compose
[Rails] Comment créer un bouton de partage Twitter
Comment générer automatiquement un constructeur dans Eclipse
Comment effacer toutes les données d'une table particulière
Comment connecter MySQL / MariaDB + HikariCP avec Liferay 7 / DXP
Comment implémenter une fonctionnalité intéressante dans Ajax avec Rails
Comment créer une URL JDBC (Oracle Database, Thin)
[Spring Boot] Comment créer un projet (pour les débutants)
J'ai essayé de créer une compétence Clova en Java
Comment lancer une autre commande dans un programme Ruby
Comment afficher un aperçu du navigateur avec VS Code
[Comment insérer une vidéo dans un hameau avec Rails]
Comment écrire une recherche de comparaison de dates dans Rails
Comment se moquer d'un appel de super méthode dans PowerMock
Créer un service avec un modèle vide Liferay 7.0 / DXP
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment convertir un fichier en tableau d'octets en Java
[Rails 6] Comment définir une image d'arrière-plan dans Rails [CSS]
[Rails] Comment charger JavaScript dans une vue spécifique
Comment écrire un mod de base dans Minecraft Forge 1.15.2
[Offre d'abonnement Apple] Comment créer une signature d'offre promotionnelle
Comment laisser un commentaire
Comment insérer une vidéo
Comment créer une image de conteneur légère pour les applications Java
Comment créer un formulaire pour sélectionner une date dans le calendrier
Comment changer une chaîne dans un tableau en un nombre dans Ruby
Comment stocker des chaînes de ArrayList à String en Java (personnel)
Créer une méthode pour renvoyer le taux de taxe en Java
Comment sélectionner une date spécifiée par code dans le calendrier FS