Неожиданная переменная не существует Ошибка в предварительном просмотре после обновления Sulu CMS - PullRequest
0 голосов
/ 22 апреля 2020

Я определяю множество глобальных переменных веток в шаблонах за пределами блока контента, теперь после обновления до sulu 2.0 в предварительном просмотре выдается неожиданное «Ошибка переменной не существует». Фактическая визуализация страницы все еще не повреждена. После комментария @JohannesWachter выясняется, что предварительный просмотр теперь только отображает блок контента и игнорирует внешние переменные.

У меня есть следующий (упрощенный) код, который раньше работал в sulu 1.6: main. html .twig

{% extends "base.html.twig" %}

{% set hasContent = content is defined %}

{% if hasContent %}
    {% set headline = content.headline is defined and content.headline ? content.headline : content.title %}
{% endif %}

{% block content %}
        <div class="row">

            {% block row %}
                <section class="col-sm-8 main-content">
                    {% if hasContent and headline is defined%}
                        <h1 class="headline" property="title">{{ headline }}</h1>
                    {% endif %}

В предварительном просмотре я получаю следующую ошибку для строки {% if hasContent and headline is defined%}: Переменная hasContent не существует. (main. html .twig, строка 43)

Есть ли способ сделать этот вид глобальных переменных доступным в предварительном просмотре и на главной странице для sulu 2.0?

1 Ответ

0 голосов
/ 23 апреля 2020

Я исправил это, переместив переменные, используемые в блоке контента, в блок контента:

{% extends "base.html.twig" %}

{# set variables nesessary to adjust base.html.twig only #}

{% block content %}
    {% set hasContent = content is defined %}

    {% if hasContent %}
        {% set headline = content.headline is defined and content.headline ? content.headline : content.title %}
    {% endif %}

        <div class="row">

            {% block row %}
                <section class="col-sm-8 main-content">
                    {% if hasContent and headline is defined%}
                        <h1 class="headline" property="title">{{ headline }}</h1>
                    {% endif %}

Я немного попробовал переместить определение переменной в настройку . html .twig файл, но переменные, определенные только внутри включенного шаблона, больше не видны снаружи.

...