raichev/twig-turbo-bundle

针对 Symfony UX Turbo 的有观点的扩展

安装次数: 110

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0.0 2024-01-02 13:46 UTC

This package is auto-updated.

Last update: 2024-09-03 14:25:28 UTC


README

针对 Symfony UX Turbo 的有观点的扩展。

该组件旨在与 Symfony UX Turbo 一起使用,并提供一种快速、简单且高效的方法来创建 turbo 框架

简单示例

  1. 我们创建框架模板("myFrame.html.twig"),通过扩展基础模板并设置 frameId 和 frameSrc
{% extends 'turbo_frame_base.html.twig' %}

{% set frameId = 'my-frame' %}
{% set frameSrc = path('app_controller_myframe') %}

{% block content %}
    <div>
        My Template Content
    </div>
{% endblock %}
  1. 我们使用 turboFrame 函数在 twig 中加载框架,将框架模板作为第一个参数传递
{{ turboFrame('myFrame.html.twig'}}
  1. 在控制器方法中渲染框架
    #[Route('/myframe', name: 'myframe', methods: ['GET'])]
    public function myFrame(): Response
    {
        return $this->render(
            'myFrame.html.twig',
        );
    }

默认情况下,"placeholder" 块包含一个加载指示器,但如果你想在框架中使用不同的占位符,可以在第二步中覆盖它

turboFrame 函数接受一些可选参数

  • 'variables' => 传递给 twig 模板的变量
  • 'loading' => 设置同名的 turbo 框架属性,['lazy' | 'eager'],默认为 'eager'
  • 'autoscroll' => 设置同名的 turbo 框架属性,默认为 false
  • 'disabled' => 设置同名的 turbo 框架属性,默认为 false
  • 'withContext' => 当为 true 时,twig 模板可以访问其父级的变量,默认为 false

以上默认值可以通过组件配置进行更改