eZ Platform으로 디자인 테마 만들기

8230 단어 CMSeZPlatform

EzPlatformDesignEngine



eZ Platform 1.10.0 에서 eZ Publish legacy 디자인 폴백 시스템 과 비슷한 디자인 테마를 EzPlatformDesignEngine 번들로 만들 수 있습니다. 1

테마 기능을 사용하면 사이트 액세스별로 디자인을 간편하게 전환할 수 있습니다.



EzPlatformDesignEngine 번들은 eZ Platform 1.10.0 이상에서 기본적으로 활성화되어 있습니다.

우선 최신 버전의 eZ Platform 설치 합시다.

설정 파일


cd /var/www/ezplatform
cat << "_EOF_" >> app/config/ezplatform.yml
imports:
    - { resource: views.yml }
_EOF_

app/config/views.yml
ezdesign:
    design_list:
        my_design: [my_theme]

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]

구성 파일에서 디자인 이름과 테마 이름을 지정합니다.

사이트 액세스 그룹 또는 사이트 액세스에 디자인 이름을 설정하고 템플릿 파일의 연결을 지정합니다.

ezplatform.yml 에 직접 기재해도 됩니다만, 템플릿 파일의 지정이 번잡해지므로, 여기에서는 eZ Platform Demo 를 참고로 views.yml 로 분리하고 있습니다.

테마



템플릿



Twig 템플릿을 app/Resources/views/themes/my_theme 또는 src/AppBundle/Resources/views/themes/my_theme 에 배치합니다.
mkdir -p app/Resources/views/themes/my_theme/full

app/Resources/views/themes/my_theme/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>
my_theme pagelayout.html.twig
{% block content %}{% endblock %}
</body>
</html>

app/Resources/views/themes/my_theme/full/article.html.twig
{% extends noLayout == true ? viewbaseLayout : pagelayout %}
{% block content %}
my_theme/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 %}

자산



이미지, CSS, JavaScript 등의 정적 파일은 자산으로
web/assets/themes/my_theme 또는 app/Resources/public/themes/my_theme 에 배치합니다.

예를 들어 asset('js/example.js', 'ezdesign')를 지정하면 web/bundles/app/themes/my_theme/js/example.js가 호출됩니다.

주의점



번들의 경우 public 디렉토리를 web 디렉토리에 공개하려면 다음 명령을 실행해야 합니다.

eZ Platform 2.x
bin/console assets:install

eZ Platform 1.x
app/console assets:install



ぇぺぺぺぺぺぺぺぺぺぺぺぺどんみんおん。 Re d d 〇 cs ho s d. 코 m / 엔 / 뭐 r / ぇ 아세 s / 에 z_p t t rm_v1. 

좋은 웹페이지 즐겨찾기