Products
Products package for Laravel Enso.
This package cannot work independently of the Enso ecosystem.
For live examples and demos, you may visit laravel-enso.com
Installation
- install the package using composer:
composer require laravel-enso/products - install the front-end ui package using yarn:
yarn add @enso-ui/products - adds the following alias in
client/vue.config.js
configureWebpack: {
resolve: {
alias: {
//other aliases
'@products': `${__dirname}/node_modules/@enso-ui/products/src/bulma`,
},
},
- in
client/js/router.jsfile, verify thatRouteMergeris imported, or import it
import RouteMerger from '@core-modules/importers/RouteMerger';
- make sure
routeImporteris also imported
import routeImporter from '@core-modules/importers/routeImporter';
- then use
RouteMergerto import front-end assets using the alias defined invue.config.js
(new RouteMerger(routes))
//other routes
.add(routeImporter(require.context('./routes', false, /.*\.js$/)))
.add(routeImporter(require.context('@products/routes', false, /.*\.js$/)));
- in
resources/js/app.jsimport the package's icons
import '@products/icons';
make sure
hot module replacementis not active, and runyarn devornpm run devrun
php artisan migrateto create table, add menu, permissions etc.run
php artisan vendor:publish --tag=products-assetsto publish the assets
Features
- features a core products functionality with a model, enums, migrations, routes, controllers, resources, index table, etc
- provides CRUD functionality for the
Productmodel - defines the relationship with a manufacturer and multiple suppliers and can manage the default supplier
- the Enso
Companymodel is used for the manufacturer, suppliers and default supplier relationships;dynamic methodsare added on theCompanyfor the$company->products(supplied products) &$company->manufacturedProductsrelationships. - the package's enums are registered automatically to the application's state
via the
EnumServiceProvider - categories support is available via the
laravel-enso/categoriespackage, and a category can be set per product, from the product form; note that a product can only belong to a child category - picture support is available out of the box, where product pictures can be uploaded through the product form; the pictures are visible in the index page table
- a
ProductFactoryis included and can be published
Usage
The package should be installed on an Enso project and customized as required (or used as it is if that is enough).
Publishes
php artisan vendor:publish --tag=products-factories- the included product factory,php artisan vendor:publish --tag=products-assets- thedefault-pictureasset, published to theresources/imagesfolder
Contributions
are welcome. Pull requests are great, but issues are good too.
License
This package is released under the MIT license.