From d220afd844c92a2e688023f9ee0677de07783f75 Mon Sep 17 00:00:00 2001 From: tblivet Date: Mon, 26 Aug 2024 14:48:02 +0200 Subject: [PATCH 1/4] feat: add blog post for rebranding --- .../news/posts/2024/prestashop-bo-rebrand.md | 72 ++++++++++++++++++ data/authors.yml | 7 ++ static/assets/images/2024/08/bo_rebrand.png | Bin 0 -> 70263 bytes 3 files changed, 79 insertions(+) create mode 100644 content/news/posts/2024/prestashop-bo-rebrand.md create mode 100644 static/assets/images/2024/08/bo_rebrand.png diff --git a/content/news/posts/2024/prestashop-bo-rebrand.md b/content/news/posts/2024/prestashop-bo-rebrand.md new file mode 100644 index 0000000000..d50c792588 --- /dev/null +++ b/content/news/posts/2024/prestashop-bo-rebrand.md @@ -0,0 +1,72 @@ +--- +layout: post +title: "PrestaShop Back Office rebranding with PrestaShop 9" +subtitle: "Rebranded Back Office Themes Now Available in PrestaShop v9" +date: 2024-08-26 +author: [ ThibaultBlivet ] +icon: icon-leaf +tags: [ "9.0", Design ] +--- + +By the end of 2023, PrestaShop unveiled a new brand identity to strengthen its position, enhance credibility, and build trust. The PrestaShop back office is one of the last assets to receive this rebranding, and the release of PrestaShop 9 provided the perfect opportunity for this update. The rebranding involved significant changes to the PrestaShop back office, focusing on its two themes. + +![Back Office rebrand](/assets/images/2024/08/bo_rebrand.png) + +## Back Office Rebrand + +### Anatomy of the PrestaShop Back Office + +The PrestaShop back office consists of two themes, both of which were modified to achieve the rebranding: + +#### Theme: default +- Used for legacy controllers +- Based on **Bootstrap 3** +- Now includes the `_root.scss` file from the **PrestaShop UI Kit** + +#### Theme: new-theme +- Used for Symfony controllers +- Based on **Bootstrap 4** +- Utilizes the **PrestaShop UI Kit** + +While the **new-theme** already incorporated the PrestaShop UI Kit, the **default** theme did not. To unify the appearance across both themes, we introduced the `_root.scss` file to the **default** theme in PrestaShop v9, ensuring both themes now share the same design foundation. This update involved a substantial refactoring effort, particularly around the use of CSS variables, to standardize and centralize design elements. + +## Need for Refactoring + +Updating both themes was essential to provide a consistent user experience throughout the back office. This harmonization effort focused on integrating CSS variables from the UI Kit, offering a centralized method to define design elements like colors, backgrounds, and shadows. The `_root.scss` file serves as a single source of truth for these variables, enabling efficient application of styles across both themes. + +## Developer Tool for the Default Theme + +To assist developers in visualizing these changes, we have created a tool that showcases the components in the default theme, which, unlike the new-theme, does not include the full UI Kit. + +**To use this tool:** + +- Open your terminal +- Navigate to the `admin-dev/themes/default directory` +- Ensure npm packages are installed +- Run the following command: `npm run example` +- This command will open a browser page that lists most of the components available in the default theme + +## PrestaShop UI Kit v2 + +A key element of the back office rebranding is the update to the PrestaShop UI Kit, which ensures visual consistency and provides a modern design framework for developers. With the version **2.0.1**, the UI Kit includes the `_root.scss` file, defining CSS variables that align both the **default** and **new-theme** with the new PrestaShop brand design. + +These updates were crucial for ensuring that the UI Kit components adhere to the new brand guidelines, thus providing a cohesive look across the entire back office. By updating the UI Kit components to use these CSS variables, we ensure that the rebranded design is applied consistently, making future updates easier to manage and more scalable. + +- [Exposed CSS variables](https://github.com/PrestaShop/prestashop-ui-kit/blob/1c255d96d79c69e2d3e0dd1712f76379941c06bb/scss/_root.scss#L122) +- [PrestaShop UI Kit (Storybook)](https://build.prestashop-project.org/prestashop-ui-kit/) + +## The Role of CSS Variables + +CSS variables play a critical role in both the rebranding and the long-term maintainability of PrestaShop’s back office. They not only facilitate current design needs but also lay the foundation for future enhancements. + +### Why Use CSS Variables? + +CSS variables offer several advantages, especially for large-scale projects like PrestaShop: + +1. **Avoiding Naming Conflicts:** In complex projects with multiple themes or libraries, variable names can easily overlap. Using prefixes like `cdk-` (Core Design Kit) ensures that variables are unique, preventing conflicts with other parts of the project or third-party libraries. +2. **Maintaining Consistency:** A consistent naming convention, such as the `cdk` prefix, helps developers easily identify and manage variables related to the UI Kit, ensuring a cohesive design language. +3. **Foundation for Future Developments:** CSS variables provide a scalable solution, allowing for customizable back-office interface colors and enhancing flexibility for future developments. + +## Summary + +The rebranding of PrestaShop’s back office with version 9 was a significant step towards enhancing its brand identity, credibility, and trust. This update involved comprehensive changes to the back office’s themes, **default** and **new-theme**, to achieve a unified and modern design. By introducing CSS variables and the `_root.scss` file from the updated PrestaShop UI Kit, we ensured consistency and maintainability across both themes. These changes not only improve the visual appeal of the back office but also provide a robust framework for future developments, enabling developers to maintain a cohesive and scalable design throughout the platform. diff --git a/data/authors.yml b/data/authors.yml index 25c853a319..8639d6deaf 100644 --- a/data/authors.yml +++ b/data/authors.yml @@ -487,3 +487,10 @@ GericFosse: avatar: https://avatars.githubusercontent.com/u/52211274?v=4 email: geric.fosse@prestashop.com github: gericfo + +ThibaultBlivet: + display_name: Thibault Blivet + role: Web Integrator + avatar: https://avatars.githubusercontent.com/u/110676325?v=4 + email: thibault.blivet@prestashop.com + github: tblivet diff --git a/static/assets/images/2024/08/bo_rebrand.png b/static/assets/images/2024/08/bo_rebrand.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0b49de4d24e69510d71bc05fe4eee1421e582b GIT binary patch literal 70263 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 Date: Mon, 16 Sep 2024 10:35:33 +0200 Subject: [PATCH 2/4] fix: add reviews suggestions --- .../news/posts/2024/prestashop-bo-rebrand.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/content/news/posts/2024/prestashop-bo-rebrand.md b/content/news/posts/2024/prestashop-bo-rebrand.md index d50c792588..f48c26c5ff 100644 --- a/content/news/posts/2024/prestashop-bo-rebrand.md +++ b/content/news/posts/2024/prestashop-bo-rebrand.md @@ -1,20 +1,20 @@ --- layout: post title: "PrestaShop Back Office rebranding with PrestaShop 9" -subtitle: "Rebranded Back Office Themes Now Available in PrestaShop v9" +subtitle: "Rebranded Back Office Themes Available in PrestaShop 9" date: 2024-08-26 author: [ ThibaultBlivet ] icon: icon-leaf -tags: [ "9.0", Design ] +tags: [ "9.0", design, ux ] --- -By the end of 2023, PrestaShop unveiled a new brand identity to strengthen its position, enhance credibility, and build trust. The PrestaShop back office is one of the last assets to receive this rebranding, and the release of PrestaShop 9 provided the perfect opportunity for this update. The rebranding involved significant changes to the PrestaShop back office, focusing on its two themes. +By the end of 2023, PrestaShop unveiled a new brand identity to strengthen its position, enhance credibility, and build trust. [We already announced]({{< relref "/news/posts/2023/new-project-branding" >}}) the new branding for the project, and the PrestaShop back office is one of the last assets to follow this change. The release of PrestaShop 9 provided the perfect opportunity for this update. The rebranding involved significant changes to the PrestaShop back office, focusing on its two themes. ![Back Office rebrand](/assets/images/2024/08/bo_rebrand.png) -## Back Office Rebrand +## Back office rebranding -### Anatomy of the PrestaShop Back Office +### Anatomy of the PrestaShop back office The PrestaShop back office consists of two themes, both of which were modified to achieve the rebranding: @@ -30,11 +30,11 @@ The PrestaShop back office consists of two themes, both of which were modified t While the **new-theme** already incorporated the PrestaShop UI Kit, the **default** theme did not. To unify the appearance across both themes, we introduced the `_root.scss` file to the **default** theme in PrestaShop v9, ensuring both themes now share the same design foundation. This update involved a substantial refactoring effort, particularly around the use of CSS variables, to standardize and centralize design elements. -## Need for Refactoring +## Need for refactoring -Updating both themes was essential to provide a consistent user experience throughout the back office. This harmonization effort focused on integrating CSS variables from the UI Kit, offering a centralized method to define design elements like colors, backgrounds, and shadows. The `_root.scss` file serves as a single source of truth for these variables, enabling efficient application of styles across both themes. +Updating both themes was essential to providing a consistent user experience throughout the back office. This harmonization effort focused on integrating CSS variables from the UI Kit, offering a centralized method to define design elements like colors, backgrounds, and shadows. The `_root.scss` file serves as a single source of truth for these variables, enabling efficient application style across both themes. -## Developer Tool for the Default Theme +## Developer tool for the default theme To assist developers in visualizing these changes, we have created a tool that showcases the components in the default theme, which, unlike the new-theme, does not include the full UI Kit. @@ -55,11 +55,11 @@ These updates were crucial for ensuring that the UI Kit components adhere to the - [Exposed CSS variables](https://github.com/PrestaShop/prestashop-ui-kit/blob/1c255d96d79c69e2d3e0dd1712f76379941c06bb/scss/_root.scss#L122) - [PrestaShop UI Kit (Storybook)](https://build.prestashop-project.org/prestashop-ui-kit/) -## The Role of CSS Variables +## The role of CSS variables CSS variables play a critical role in both the rebranding and the long-term maintainability of PrestaShop’s back office. They not only facilitate current design needs but also lay the foundation for future enhancements. -### Why Use CSS Variables? +### Why CSS variables? CSS variables offer several advantages, especially for large-scale projects like PrestaShop: From fde2721ae14f3c0d4f15792e94ae87c29aab7044 Mon Sep 17 00:00:00 2001 From: tblivet Date: Mon, 16 Sep 2024 14:36:10 +0200 Subject: [PATCH 3/4] fix: add reviews suggestions + date --- content/news/posts/2024/prestashop-bo-rebrand.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/news/posts/2024/prestashop-bo-rebrand.md b/content/news/posts/2024/prestashop-bo-rebrand.md index f48c26c5ff..33000f14a8 100644 --- a/content/news/posts/2024/prestashop-bo-rebrand.md +++ b/content/news/posts/2024/prestashop-bo-rebrand.md @@ -1,8 +1,8 @@ --- layout: post title: "PrestaShop Back Office rebranding with PrestaShop 9" -subtitle: "Rebranded Back Office Themes Available in PrestaShop 9" -date: 2024-08-26 +subtitle: "PrestaShop 9 Embarks The Newly Rebranded Back Office Themes" +date: 2024-09-16 author: [ ThibaultBlivet ] icon: icon-leaf tags: [ "9.0", design, ux ] From 5940a963146e093dfaccdbf3c938afccc113672e Mon Sep 17 00:00:00 2001 From: Krystian Podemski Date: Tue, 17 Sep 2024 07:35:42 +0200 Subject: [PATCH 4/4] change the date --- content/news/posts/2024/prestashop-bo-rebrand.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/posts/2024/prestashop-bo-rebrand.md b/content/news/posts/2024/prestashop-bo-rebrand.md index 33000f14a8..7a1052bd2e 100644 --- a/content/news/posts/2024/prestashop-bo-rebrand.md +++ b/content/news/posts/2024/prestashop-bo-rebrand.md @@ -2,7 +2,7 @@ layout: post title: "PrestaShop Back Office rebranding with PrestaShop 9" subtitle: "PrestaShop 9 Embarks The Newly Rebranded Back Office Themes" -date: 2024-09-16 +date: 2024-09-17 author: [ ThibaultBlivet ] icon: icon-leaf tags: [ "9.0", design, ux ]