Sulu CMS升级后,预览中出现意外变量不存在的问题。

我在内容块之外的模板中定义了一把全局的twig变量,现在升级到sulu 2.0后,在预览中出现了意外的 “Variable does not exist Error”。实际的页面渲染还是完整的。在@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的预览和主页面中都可以使用?

解决方案:

我把内容块中使用的变量移到内容块中就解决了。

{% 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 %}

我试着把变量的定义移到内容块中去 setup.html.twig 文件,但只在包含的模板内定义的变量对外部不再可见。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

组件上使用复阶必须满足哪些要求?

2022-5-13 15:00:14

解决方案

Networkx。通过循环节点列表添加属性时,IndexError:列表索引超出范围。

2022-5-13 15:00:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索