Falcon
Prestashop starter theme that provides great development experience.
Install / Use
/learn @Oksydan/FalconREADME
- 🚀 super fast
- 💡 feature rich
- 🪶 lightweight
- ⭐️ up to date
- 🐧 prestashop theme
Sponsors
<h3 align="center"> Gold sponsors </h3> <br> <p align="center"> <a href="https://www.waynet.io/" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/25306716/221512340-10e18c49-2898-46bd-9c9b-747c56aef0a7.svg"> <img alt="Waynet logo" src="https://user-images.githubusercontent.com/25306716/221512697-41c464bc-6c71-447b-8f01-62c6c125f5ac.svg" width="250"> </picture> </a> </p> <p align="center"> <a href="https://dilios.fr" rel="dofollow" target="_blank" style="display: block"> <img alt="Dilios Interactive" src="https://github.com/Oksydan/falcon/blob/master/sponsors/logo-dilios.png" width="200"> </a> </p> <br> <h3 align="center"> Silver sponsors </h3> <p align="center"> <a href="https://msaustral.com/" target="_blank" style="display: block"> <img alt="Ms Austral logo" src="https://github.com/Oksydan/falcon/blob/master/sponsors/logo-msaustral.png" width="200"> </a> </p> <br> <h3 align="center"> Bronze sponsors </h3> <p align="center"> <a href="https://www.maofree-developer.com/" target="_blank" style="display: block"> MaoDev </a> </p> <br>Table of Contents
- About the Theme
- Getting Started
- Usage
- Javascript Components
- Features
- Troubleshooting
- Support project
- Contribution
About The Theme
Falcon theme is made with the latest tools such as Webpack 5, Webpack dev server with HMR :fire::fire:, and Bootstrap 4.6. This theme was created to deliver a starter theme with the latest developers' tools and frameworks. You can create an enterprise-level PrestaShop theme that is easy to maintain.
Made for developers, and if you are a merchant, you shouldn't download it.
List of changes compared to classic theme:
- Bootstrap updated to 4.6 from 4.0.0-alpha.5 - backwards compatibility included.
- Updated Webpack to 5 from 2.2.1 with a whole new Webpack config.
- Removed tether - not used anymore with Bootstrap 4.6 - popper.js added instead.
- Removed velocity-animate, jquery.scrollbox.js and jquery-touchswipe - replaced with Swiper.
- Removed bootstrap-filestyle.js - replaced with Bootstrap custom file input
- Removed jquery.ui from
ps_searchbar, a new moduleis_searchbarincluded. - Removed jquery.ui from
ps_facetedsearch- replaced with nouislider. (ps_facetedsearchassets are unregistered insideis_themecoremodule that is required for the theme to work properly).
Main features:
- Webpack config works properly with Webpack Dev server and HMR. Its watcher also observes changes on
.tpltemplates, and modules.css/.js/.tplfiles and makes the page complete reload if needed. You don't need to refresh your webpage manually anymore to inspect results. - Module
is_themecoreadds structured data with properJSON-LDformat for WebPage, Product, Organization and BreadcrumbList. Also supports OpenGraph and Twitter:card. It adds missing breadcrumbs for pages: cart, 404, stores, sitemap. - Dynamic importing of the Boostrap components. You can load
.js/.cssfile dynamically with DynamicImportHandler class. There is no documentation yet, only an example of use available in_dev/js/components/dynamic-bootstrap-components.js. - Lazyload added for images that are below the fold.
- Modified version of
ps_imagesliderincluded. You can upload images for mobile and desktop separately. - Multiple entry points for Webpack, files separated per view. There are 4 output
js/cssfiles theme, product, checkout, listing and you are able to add more with ease. If you need rich CMS pages with many styles, you don't have to include them everywhere with the theme output file. You can create another entry e.g. cms and modify theassets.ymlfile to include the new assets file. - List/grid switcher on the list. You are able to choose the default listing display type with only a few lines of
.jscode. All template changes are handled in.tplfile. It is also easy to add another list type. - Specific
.scssfile structure that helps you maintain your code over time. - Automatically generated preload links for theme fonts. You don't have to care about manually preloading fonts inside the template. Webpack generates
.htmlfile that is included inside the head. Fonts fileNames arecontentHashedso client-side caching problems after fonts changes are resolved (especially useful foricomoongenerated icon fonts.). - High DPI images support. With just a simple call of the Smarty function (
generateImageSources), you are able to handle whole image sources logic -srcsetfor the High DPI images option enabled. SwiperSliderwrapper class forswiper.jsto fetch needed swiper modules lazily based on provided config.- WebP image format generated automatically on demand via
is_themcoremodule. Early hints (103)support via Cloudflare for css/image file.
Online demo
Want to check it online in action before downloading? Demo available here (page might not be avaliable on release date).<br> Demo hosted by our technical partner Wrapnet.
Performance
Performance results based on PageSpeed Insights:
Desktop
<img width="700" alt="mpst_desktop" src="https://user-images.githubusercontent.com/25306716/185810465-f85146be-4beb-4a16-8e14-ceaa230e96cd.png">Mobile
<img width="700" alt="mpst_mobile" src="https://user-images.githubusercontent.com/25306716/185810449-f652b86b-acc2-4046-8dd9-4ceeab224fe3.png">Getting started
Prerequisites
Modules required
Optional modules
System requirements:
- Prestashop requirements,
- vhost setup, to work with Falcon theme it is required to setup your shop domain with vhost e.g.
falcon.test,
Support table
Falcon version | PS version | node version ------------- | ----------- | ------------- v 1.X | 1.7.7.X | >= 10 v 2.X | 1.7.8.X | >= 14 v 3.0.X | 8.0.X | >= 14 v 3.1.X | 8.0.X | >= 15
Module requirements
is_themecore version | Theme version
------------- | -------------
1.X.X | 1.X.X
2.X.X | 2.X.X
3.X.X | 3.0.X
4.X.X | >= 3.1.X
is_imageslider version | Theme version
------------- | -------------
1.X.X | <= 2.X.X
2.X.X | 3.1.X
3.X.X | >= 3.1.X
is_searchbar version | Theme version
------------- | -------------
1.X.X | <= 2.X.X
2.X.X | 3.0.X
3.X.X | >= 3.1.X
is_shoppingcart version | Theme version
------------- | -------------
1.X.X | <= 2.X.X
2.X.X | 3.1.X
3.X.X | >= 3.1.X
is_favoriteproducts version | Theme version
------------- | -------------
1.X.X | >= 3.1.X
Installation
-
Go to releases and download latest version
falcon.zipfile not source code. -
Download required modules via github releases and place them into
{shop_dir}/modules/folder. Make sure that you are downloading release package not source code of module. DON'T clone module repository. If you clone module repository, you will have to runcomposer installin root dir of downloaded module. -
Unzip theme file and place it inside
{shop_dir}/themes/. -
If you want to change theme name unzip file. Change folder name e.g.
your-theme-namethen go toconfig/theme.ymland change:
name: falcon
display_name: Falcon theme
to:
name: your-theme-name
display_name: my theme display name
Name in theme.yml must be equal folder name.
- Open in terminal directory
your-theme-name/_devand run:
- for
npm:
npm install
- for
yarn:
yarn install
- Creating your
.envfile. You can setup you project by runningproject-initscript.
- If you didn't build your theme in step 6. Just run:
- for
npm:
npm run build
- for
yarn:
yarn build
-
Go in BO to Design->Theme & Logo and turn on theme. Now theme should be displayed correctly in FO and modules should be installed.
-
Now try to run:
- for
npm:
np
