EzPlatformDesignEngine

eZ Platform 1.10.0 から eZ Publish legacy のデザインフォールバックシステム に似たデザインテーマが EzPlatformDesignEngine バンドルによって作成可能になりました。1

EzPlatformDesignEngine バンドルはクリーンインストールするとデフォルトで有効になっています。

まずは最新版の eZ Platform をインストールしましょう。

設定ファイル

https://github.com/ezsystems/ezplatform-design-engine/tree/master/doc

cd /var/www/ezplatform
cat << "_EOF_" >> app/config/ezplatform.yml
imports:
    - { resource: views.yml }
_EOF_
app/config/views.yml
ezpublish:
    system:
        site_group:
            design: my_design
            pagelayout: @ezdesign/pagelayout.html.twig
            content_view:
                full:
                    article:
                        template: @ezdesign/full/article.html.twig
                        match:
                            Identifier\ContentType: [article]
ezdesign:
    design_list:
        my_design: [theme1]

サイトアクセスグループまたはサイトアクセスに design を設定します。

テーマ

テーマファイルは app/Resources/views/themes/my_theme または src/AppBundle/Resources/views/themes/my_theme に配置します。

テンプレート

https://github.com/ezsystems/ezplatform-design-engine/blob/master/doc/templates.md

mkdir -p app/Resources/views/themes/theme1/full
app/Resources/views/themes/theme1/pagelayout.html.twig
<!doctype html>
<html lang="{{ app.request.locale|replace({'_': '-'}) }}">
<head>
<meta charset="utf-8">
{% if content is defined and title is not defined %}
{% set title = ez_content_name( content ) %}
{% endif %}
<title>{{ title|default( 'Home' ) }}</title>
</head>
<body>
Theme1 pagelayout.html.twig
{% block content %}{% endblock %}
</body>
</html>
app/Resources/views/themes/theme1/full/article.html.twig
{% extends noLayout == true ? viewbaseLayout : pagelayout %}
{% block content %}
theme1/full/article.html.twig
<h1>{{ ez_field_value( content, 'title' ) }}</h1>
<h2>{{ ez_field_value( content, 'short_title' ) }}</h2>
<div>
{{ ez_field_value( content, 'body' ) }}
</div>
{% endblock %}

アセット

https://github.com/ezsystems/ezplatform-design-engine/blob/master/doc/assets.md