xervice/gui

2.0.0 2018-08-27 08:56 UTC

This package is not auto-updated.

Last update: 2024-09-21 00:34:31 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

安装

在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
          • 原子
          • 分子
          • 组织
        • 模板
        • 页面

设置 您可以在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 %}