braunstetter/template-hooks-bundle

给你的包一个扩展模板的机会。

安装: 45

依赖: 1

建议者: 0

安全: 0

星星: 2

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v0.2.2 2021-12-03 18:24 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:52 UTC


README

Scrutinizer Code Quality Build Status Total Downloads License

不使用继承扩展 Twig 模板。

安装

composer require braunstetter/template-hooks-bundle

使用

现在您可以在模板中使用 hook 标签了

{{ hook('app.cp.global-header') }}

一旦你将此标签插入到某个地方,你和其他包都可以通过创建一个类来钩入这个标签

<?php


namespace App\Twig;


use Braunstetter\TemplateHooks\Twig\TemplateHook;

class BreadcrumbsHook extends TemplateHook
{

    /**
     * @inheritDoc
     */
    public function render(): string
    {
        return $this->templating->render('hooks/breadcrumbs.html.twig', $this->context);
    }

    public function setTarget(): string|array
    {
        return 'app.cp.global-header';
        
        // it would be possible to register to multiple hooks
        // return ['app.cp.global-header', 'app.cp.global-sidebar'];
    }
}

就这样。您的模板将被渲染,您可以在渲染之前处理任何逻辑。

发送 JavaScript 和 CSS

使用 AssetsPushBundle,您可以在 hooks/breadcrumbs.html.twig 中编写内容

{% css '/breadcrumbs.css' %}

CSS 或 JS 将包含在页面的头部。

有关更多信息,请参阅官方文档