kaliop / twig-express-bundle
在 Symfony 项目中浏览和渲染“静态”Twig 模板。此扩展包是 TwigExpress 工具的移植版本,旨在用于私有前端原型,而不是面向公众的页面。
Requires
- php: >=5.4
- erusev/parsedown: ^1.6
- joshtronic/php-loremipsum: ^1.0
- symfony/symfony: >=2.5
- twig/twig: >=1.18
This package is not auto-updated.
Last update: 2024-09-15 00:51:08 UTC
README
在 Symfony 项目中浏览和渲染“静态”Twig 模板。此扩展包是从TwigExpress独立工具移植过来的,旨在用于私有前端原型。如果您是使用 Symfony 的设计师或前端开发者,您可能会喜欢它。请勿在生产环境中使用此扩展包或其路由!
功能
- 提供对扩展包
Resources/views/static
文件夹中 Twig 模板的访问,显示此文件夹和子文件夹的索引页面。(注意,每个扩展包的根文件夹都可以更改。) - 渲染 Twig 模板,并报告 Twig 错误,包括有错误的模板的摘录。
重要:此扩展包的控制器将 无法 渲染依赖于其他现有控制器提供的数据的模板。它旨在用于不依赖于数据库或服务数据的“静态”原型。
安装
使用 Composer 在您的 Symfony 项目中安装
composer require kaliop/twig-express-bundle
然后,您需要在 app/AppKernel.php
中注册此扩展包。这可能是这样的:
class AppKernel extends Kernel { public function registerBundles() { $bundles = [ /* ... */ new Kaliop\TwigExpressBundle\KaliopTwigExpressBundle(), ]; } }
入门指南
假设您有一个名为 MyAwesomeBundle
的扩展包,并且它包含在 MyAwesomeBundle/Resources/views/static
中的“静态”Twig 模板。我们所说的“静态”Twig 模板是指不依赖于控制器提供的数据的模板。这可能是一些简单的 HTML 页面,带有 {% include %}
标签和其他原生 Twig 特性。
首先,您需要激活 TwigExpress 路由。将以下内容添加到您的路由配置中(例如在 routing_dev.yml
):
twig_express: resource: "@KaliopTwigExpressBundle/Resources/config/routing.yml"
然后,在您的主配置中(例如在 config_dev.yml
),告诉 KaliopTwigExpressBundle 它可以渲染您扩展包中的模板
twig_express: bundles: - MyAwesomeBundle
最后,导航到 http://[your-hostname]/static/
来探索您的静态视图。您应该能够探索和渲染来自 MyAwesomeBundle/Resources/views/static
的 Twig 模板。
演示页面
此扩展包包含自己的演示 static
模板,演示了一些附加功能。要激活它,将此导入添加到您的 config_dev.yml
imports: - resource: "@KaliopTwigExpressBundle/Resources/config/demo.yml"
高级配置
对于每个扩展包,您不仅可以提供扩展包的名称,还可以更改 URL 滑块(在 URL 中标识此扩展包的部分)和扩展包“静态”模板的路径
twig_express: bundles: # 'name' is required and must be a valid bundle name; # 'root' defaults to 'Resources/views/static'; # 'slug' will use an automatic value if not defined. - name: MyStaticBundle root: Resources/views/static-html slug: ohmy - name: AwesomeStaticBundle root: Resources/components slug: awesome
如果您想使用除 /static/…
之外的不同 URL 基础,请使用 twig_express.url_base
参数
parameters: twig_express.url_base: something-different