xervice / gui
2.0.0
2018-08-27 08:56 UTC
Requires
- php: >=7.1.0
- twig/extensions: ^1.5.0
- xervice/twig: ^3.0.0
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-21 00:34:31 UTC
README
安装
在TwigDependencyProvider中注册atomic twig扩展以支持atomic设计。
<?php namespace App\Twig; use Xervice\Atomic\Communication\Twig\AtomicTwigExtension; use Xervice\Twig\TwigDependencyProvider as XerviceTwigDependencyProvider; class TwigDependencyProvider extends XerviceTwigDependencyProvider { /** * @return array */ protected function getTwigExtensions(): array { return [ new AtomicTwigExtension() ]; } }
配置
使用
使用此扩展后,您可以在您的模块中定义以下文件夹结构
- MyModule
- 展示
- 主题
- atomic
- 原子
- 分子
- 组织
- 模板
- 页面
- atomic
- 主题
- 展示
设置 您可以在twig模板中定义设置来覆盖它们,通过嵌入组件
{% setting data = {
name: 'default'
} %}
{{ data.name }}
示例原子 MyModule/Presentation/Theme/atomic/atoms/example/example.twig
{% setting data = {
name: 'default'
} %}
{% block body %}{% endblock %}
使用示例原子
{% embed atom('example', 'MyModule') with {
data: {
name: 'Test'
}
} %}
{% block body %}{{ data.name }}{% endblock %}
{% endembed %}