From dd37327efe195967cc29a6fa43ddda3ad7336294 Mon Sep 17 00:00:00 2001 From: Florian Merle Date: Tue, 29 Apr 2025 14:45:13 +0200 Subject: [PATCH] Update doc --- docs/.gitbook/assets/custom_title.png | Bin 0 -> 21357 bytes docs/cookbook/admin_panel/menu.md | 38 +++++++++++++++++ docs/cookbook/admin_panel/page_titles.md | 50 +++++++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 docs/.gitbook/assets/custom_title.png diff --git a/docs/.gitbook/assets/custom_title.png b/docs/.gitbook/assets/custom_title.png new file mode 100644 index 0000000000000000000000000000000000000000..f93a52d27afe7867cbce84305f9535df04c4e684 GIT binary patch literal 21357 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 literal 0 HcmV?d00001 diff --git a/docs/cookbook/admin_panel/menu.md b/docs/cookbook/admin_panel/menu.md index 12c32d21..5107d812 100644 --- a/docs/cookbook/admin_panel/menu.md +++ b/docs/cookbook/admin_panel/menu.md @@ -88,3 +88,41 @@ final readonly class MenuBuilder implements MenuBuilderInterface } } ``` + +### Opening a link in a new tab + +You can make a link open in a new browser tab by adding the `target="_blank"` link attribute to menu items. This can be applied to top-level menu items without children, or to child items themselves. In other words, it only works for items that do not have submenus. + +To configure this behavior, set the target link attribute on the menu item as shown below: + +{% code title="src/Menu/MenuBuilder.php" lineNumbers="true" %} +```php +// ... +#[AsDecorator(decorates: 'sylius_admin_ui.knp.menu_builder')] +final readonly class MenuBuilder implements MenuBuilderInterface +{ + // ... + + public function createMenu(array $options): ItemInterface + { + $menu = $this->factory->createItem('root'); + // ... + $this->addYourWebsitebMenu($menu); + + return $menu; + } + + private function addYourWebsitebMenu(ItemInterface $menu): void + { + $apiDoc = $menu + ->addChild('your_website', [ + 'route' => 'app_homepage', + ]) + ->setLabel('app.ui.your_website') + ->setLabelAttribute('icon', 'tabler:arrow-up-right') + ->setLinkAttribute('target', '_blank') // Opens the link in a new tab + ; + } +} +``` +{% endcode %} diff --git a/docs/cookbook/admin_panel/page_titles.md b/docs/cookbook/admin_panel/page_titles.md index 8f64531a..b0b0556e 100644 --- a/docs/cookbook/admin_panel/page_titles.md +++ b/docs/cookbook/admin_panel/page_titles.md @@ -1,5 +1,55 @@ # Customizing the page titles +## Defining the application base title + +The application’s base title can be configured using the `sylius_admin.base#base_title` Twig hook. Here's an example of how to define it: + +
+ +
Example of a Custom Title in Google Chrome
+ +
+ +{% tabs %} +{% tab title="YAML" %} +{% code title="config/packages/sylius_bootstrap_admin_ui.yaml" lineNumbers="true" %} +```yaml +# ... +sylius_twig_hooks: + hooks: + 'sylius_admin.base#base_title': # The base title block + default: + configuration: + title: 'My app' # here is our title override +``` +{% endcode %} +{% endtab %} + +{% tab title="PHP" %} +{% code title="config/packages/sylius_bootstrap_admin_ui.php" lineNumbers="true" %} +```php +use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; + +return static function (ContainerConfigurator $containerConfigurator): void { + // ... + $containerConfigurator->extension('sylius_twig_hooks', [ + 'hooks' => [ + // The base title block + 'sylius_admin.base#base_title' => [ + 'default' => [ + 'configuration' => [ + 'title' => 'My app' // here is our title override + ], + ], + ], + ], + ]); +}; +``` +{% endcode %} +{% endtab %} +{% endtabs %} + ## Changing the default title for a specific page