--- layout: title: visible: true description: visible: false tableOfContents: visible: true outline: visible: true pagination: visible: true --- # Customizing Templates Sylius provides two primary template types: **Shop** and **Admin** templates. Additionally, you can create custom templates to meet your specific needs. ## Why Customize Templates? The main reason for modifying existing templates is to implement a unique layout that aligns with your brand. Even if you stick to Sylius's default layout, you might need minor adjustments to fulfill specific business requirements, such as adding a logo. #### Template Customization Methods There are three ways to customize Sylius templates: 1. **Overriding Templates**\ This is done in the `templates/bundles` directory of your project, allowing you to modify templates entirely, the Symfony way. 2. **Using Twig Hooks**\ This approach lets you add custom blocks without duplicating entire templates, making it ideal for plugins. 3. **Implementing Sylius Themes**\ Themes allow different designs for multiple channels within a Sylius instance. Although it requires a few additional steps, themes offer enhanced flexibility. ## Customizing Templates via Overriding To determine the template you need to override: * Navigate to the desired page. * In the Symfony toolbar, click on the route. The profiler will display the path in **Request Attributes** under `_sylius`. **Shop Template Example: Login Page Customization** * **Default login template**: `@SyliusShopBundle/login.html.twig` * **Override path**: `templates/bundles/SyliusShopBundle/login.html.twig` Copy the original template to your path and customize it as needed. Example: ```twig {% raw %} {% extends '@SyliusShop/layout.html.twig' %} {% import '@SyliusUi/Macro/messages.html.twig' as messages %} {% block content %}