BrandManagement
GitHub - magesuite/brand-management
This is a powerful module created in order to add and manage product brands.
Installation
This module is a part of MageSuite metapackage.
composer require "creativestyle/magesuite-brand-management" ^1.0.0
User guide
This document covers developer documentation, for the user guide refer to: 2.7. Brands
Admin settings
Catalog > Brands
Grid with all added brands:
Catalog > Brands -> Crete New Brand
Add a new brand
Brand details
Enabled | When enabled brand will be visible on frontend. | default value: Yes |
Brand Name |
| required |
Brand Icon | Allowed file types: png, gif, jpg, jpeg, svg. Max file size 1MB. | optional |
Brand Additional Icon |
| optional |
URL Key |
| required |
Is featured | When enabled brand will be visible in brand carousel. | default value: Yes |
Show In Brand Carousel | When enabled brand will be visible in brand carousel. | default value: Yes |
Short Description |
| optional |
Full Description |
| optional |
Safety Regulations | For GPSR, more info here | optional |
Layout Update XML |
|
|
Brand group identifier | An additional brand’s identifier to be used by developers to add e.g. CSS classes |
|
Below brand options, there are settings that help customize the brand page: Search Engine Optimization (Meta title, Meta description, and Meta Robots for brand page).
Backend
TODO BE part is needed.
Blocks in Admin Panel
There are buttons configuration for Back, Delete, Save button
There is also Grid configuration for all columns
Controllers in Admin Panel
There are actions for: new, edit, delete and save Brand, for displaying grid of Brands
And also for upload Brand icon and additional icon
vendor/creativestyle/magesuite-brand-management/Controller/Adminhtml/Brand/Upload.php:29
public function execute()
{
try {
$result = $this->uploadProcessor->create()->processUpload();
} catch (\Exception $e)
.....
}
magesuite-brand-management/Model/Brands/Processor/Upload.php:60
public function processUpload($imageData = null)
{
if($imageData) {
$fileAttributes = $this->prepareUploadBase64Encoded($imageData);
} else {
$fileAttributes = $this->prepareUploadImage();
}
try {
.....
$result = $this->uploader->save($destinationFolder, $fileAttributes['name']);
.....
}
.....
}
Observer
There is observer add_brand_group_identifier_to_body
which listens to event controller_front_send_response_before
vendor/creativestyle/magesuite-brand-management/etc/frontend/events.xml:2
add can add brand group identifier to body tag to class param, for example my_brand
<body data-container="body" id="html-body" class="brands-index-index my_brand page-layout-2columns-left sale-bar">
Frontend
The brand overview page is placed under /brands
url (brands-index-all
layout). It consists of linked brand icons and an alphabetical list with links to specific brand subpages.
The specific brand page (brands-index-index
layout) consists of a grid with all products assigned to this brand.
Additionally, the Content Constructor Brand Carousel module is available for all CMS pages and other ContentConstructor areas.
Styling
The specific brand page uses a separate entry: theme-creativeshop/src/entries/magesuite-brand-management.ts
in order to include its styles. Standard category page styles are applied to specific brand pages and standard rules for CC components styling apply to the brand carousel.