In this article, you’ll learn how to create a Liferay theme contributor as a Liferay module. To create a theme contributor via the command line using Blade CLI or Maven, use one of the commands with the following parameters:
blade create -t theme-contributor [--contributorType contributorType] [-p packageName] projectName
or
mvn archetype:generate \
-DarchetypeGroupId=com.liferay \
-DarchetypeArtifactId=com.liferay.project.templates.theme.contributor \
-DartifactId=[projectName] \
-Dpackage=[packageName] \
-DcontributorType=[contributorType] \
-DliferayVersion=7.2
You can also insert the -b maven
parameter in the Blade command to generate a
Maven project using Blade CLI.
The template for this kind of project is theme-contributor
. Suppose you want
to create a theme contributor project called my-theme-contributor
with a
package name of com.liferay.docs.theme.contributor
and a contributor type of
my-contributor
. You could run the following command to accomplish this:
blade create -t theme-contributor --contributor-type my-contributor -p com.liferay.docs.theme.contributor my-theme-contributor
or
mvn archetype:generate \
-DarchetypeGroupId=com.liferay \
-DarchetypeArtifactId=com.liferay.project.templates.theme.contributor \
-DgroupId=com.liferay \
-DartifactId=my-theme-contributor \
-Dpackage=com.liferay.docs.theme.contributor \
-Dversion=1.0 \
-DcontributorType=my-contributor \
-DliferayVersion=7.2
After running the Blade command above, your project’s folder structure would look like this:
my-theme-contributor
gradle
wrapper
gradle-wrapper.jar
gradle-wrapper.properties
src
main
java
com/liferay/docs/theme/contributor
resources
META-INF
resources
css
my-contributor
_body.scss
_control_menu.scss
_product_menu.scss
_simulation_panel.scss
my-contributor.scss
js
my-contributor.js
bnd.bnd
build.gradle
gradlew
The Maven-generated project includes a pom.xml
file and does not include the
Gradle-specific files, but otherwise, appears exactly the same.
The generated module is functional and is deployable to a Liferay DXP instance. To build upon the generated app, modify the project by adding logic and additional files to the folders outlined above. You can visit the Blade Theme Contributor sample project for a more expanded sample of a theme contributor. Likewise, see the Theme Contributors tutorial for instructions on customizing a theme contributor project.