0

我正在尝试使用从树枝模板扩展而来的单独的通用页眉和页脚设置页面布局。

页面布局是一个典型的页面布局,其中包含如下代码:

<!doctype html>
<html class="no-js" lang="zxx">
<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Soccer | Home</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="apple-touch-icon" href="apple-touch-icon.png">
    <!-- Place favicon.ico in the root directory -->
    <link rel="shortcut icon" type="image/x-icon" href="{{ asset('assets/images/fav.png') }}">

    <!-- CSS BLOCK -->
    {% stylesheets 'assets/css/*' 'assets/css/style.css' filter='cssrewrite' %}
        <link rel="stylesheet" href="{{ asset_url }}"/>
    {% endstylesheets %}
</head>
<body class="home-two">

    {% block page_layout_header %} {% endblock %}

    {% block content %} {% endblock %}

    {% block page_layout_footer %} {% endblock %}

    <!-- JS BLOCK -->
    {% javascripts 'assets/js/jquery.min.js'
        'assets/js/rsmenu-main.js'
        'assets/js/jquery-ui.min.js'
        'assets/js/bootstrap.min.js'
        'assets/js/jquery.meanmenu.js'
        'assets/js/wow.min.js'
        'assets/js/slick.min.js'
        'assets/js/masonry.js'
        'assets/js/owl.carousel.min.js'
        'assets/js/time-circle.js'
        'assets/js/jquery.magnific-popup.js'
        'assets/js/main.js' %}
            <script src="{{ asset_url }}"></script>
    {% endjavascripts %}

</body>
</html>

我在 ( app\Resources\views\parts\page_layout_header.html.twig) 下有另一个文件,我在其中设置了网站的一部分,从pagelayout.html.twig.

最后,它位于 root_folder 下full/home.html.twig,它呈现一个简单的模板,如下所示:

{% extends "pagelayout.html.twig" %}
{% block content %}
    <h1>Root page</h1>
{% endblock %}

ezplatform.yml我已经设置了根文件夹和标题树枝的一行。

content_view:
    full:
        root_folder:
            template: "full/home.html.twig"
            match:
                Id\Location: 67
    line:
        line_part_header:
            template: "parts/page_layout_header.html.twig"
            match:
                Identifier\ContentType: ['defined_content_type']

启动127.0.0.1:8000根页面时出现问题,并且似乎没有呈现任何内容。仅显示根 ez 文件夹中的内容,没有任何 CSS 样式。似乎从树枝模板扩展不起作用......

编辑:会更好地解释我的情况。

这是其中的一部分,pagelayout.html.twig其中包含所有 css、js 和块定义

{% stylesheets 'assets/css/*' 'assets/css/style.css' filter='cssrewrite' %}
    <link rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}

{% block header %} {% endblock %}

{% block content %} {% endblock %}

{% block footer %} {% endblock %}


<!-- BLOQUE JS -->
{% javascripts 'assets/js/*' %}
    <script src="{{ asset_url }}"></script>
{% endblock %}

接下来,我有一个page_layout_header.html.twig包含顶栏和主菜单的东西。

{% extends ':themes/club:pagelayout.html.twig' %}
{% block header %}
<!--Header area start here-->
<header>
    <div class="header-top-area">
        <div class="container">
            <div class="row">
                <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
                    <div class="header-top-left">
                        <ul>
                            <li><a href="mailto:#"><i class="fa fa-envelope-o" aria-hidden="true"></i> {{ ez_render_field( content, 'web_config_email_contacto' ) }}</a></li>
                            <li><img src="{{ asset('assets/images/logo/flag.jpg') }}" alt="Logo">
                            ......
                            ......

最后,这是配置:

home:
    template: "themes/club/full/home/home.html.twig"
    match:
        Id\Location: 2
full_top:
    template: "themes/club/parts/page_layout_header.html.twig"
    match:
        Identifier\ContentType: 'informacion_general'

所以,在测试时http://127.0.0.1我看不到任何东西{{ ez_render_field(content, 'description') }}

4

1 回答 1

0

扩展模板意味着子模板扩展了父模板,但并不意味着父模板包含子模板。

因此,您的两个模板 (home.html.twigpage_layout_header.html.twig) 都是独立扩展的pagelayout.html.twig。而且他们对彼此一无所知。

我对 EzPlatform 不熟悉,但它看起来fullline视图类型只是 ViewProvider 选择的不同配置或类似的东西。

所以我决定你应该通过像这样简单地包含它来嵌入 html 的可重用部分:

{% include 'page_layout_header.html.twig' %}

https://twig.symfony.com/doc/2.x/tags/include.html

或者通过像这样使用单独的控制器渲染它:

{{ render(controller("ez_content:viewAction", {"contentId": 123, "viewType": "line"})) }}

https://doc.ezplatform.com/en/2.1/guide/content_rendering/#embedding-content-items

于 2018-04-17T12:01:52.527 回答