Sulu 1.6:自定义模板的实时预览不起作用
Sulu 1.6: Live Preview of custom template not working
阅读后http://docs.sulu.io/en/latest/cookbook/live-preview.html and also crosschecking the example.html.twig我仍然无法找出为什么爱情预览在我的模板中不起作用。
我的模板层次结构(使用主题包):
- bs_homepage.html.twig,扩展:
- main.html.twig,扩展:
- master.html.twig
简而言之,结构如下:
bs_homepage.html.twig(只是设置一些参数并调用主模板)
{% extends "DWBNFrontendBundle:main:main.html.twig" %}
main.html.twig
{% block content %}
[...]
<div id="content" class="container" vocab="http://schema.org/" typeof="Content">
[...]
<div class="row">
[...]
<section class="col-sm-{{ mainCollSize }} main-content" id="content" vocab="http://schema.org/" typeof="Content">
{% if content.title %}
<h1 property="title">{{ content.title }}</h1>
{% endif %}
[...]
</div>
</div>
{% endblock %}
master.html.twig
[...]
<body>
<!-- content -->
{% block content %}{% endblock %}
<!-- /content -->
[...]
</block>
和 xml 定义:
bs_homepage.xml:
<?xml version="1.0" ?>
<template xmlns="http://schemas.sulu.io/template/template"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xi="http://www.w3.org/2001/XInclude"
xsi:schemaLocation="http://schemas.sulu.io/template/template http://schemas.sulu.io/template/template-1.1.xsd">
<key>bs_homepage</key>
<view>DWBNFrontendBundle:templates:bs_homepage</view>
<controller>SuluWebsiteBundle:Default:index</controller>
<cacheLifetime>2400</cacheLifetime>
<meta>
<title lang="de">Startseite</title>
<title lang="en">Homepage</title>
</meta>
<properties>
<xi:include href="fragments/content-core.xml" xpointer="xmlns(sulu=http://schemas.sulu.io/template/template) xpointer(/sulu:template/sulu:properties/sulu:section[@name='highlight'])"/>
[...]
</properties>
</template>
fragments/content-core.xml:
<?xml version="1.0" ?>
<template xmlns="http://schemas.sulu.io/template/template"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.sulu.io/template/template http://schemas.sulu.io/template/template-1.1.xsd">
<properties>
<section name="highlight">
<properties>
<property name="title" type="text_line" mandatory="true">
<params>
<param name="headline" value="true"/>
</params>
<tag name="sulu.rlp.part"/>
</property>
[...]
</properties>
</section>
</properties>
</template>
但是如果我更改标题,预览中什么也不会发生 window。
首先:在你的问题中,我看不到你的 属性 在你的 xml 中是否被命名为 "title"。
但我认为问题在于最初呈现时,h1
html 节点不存在。
因此根本无法更新此节点。
尝试添加如下内容:
<div property="title">
{% if content.title %}
<h1>{{ content.title }}</h1>
{% endif %}
</div>
阅读后http://docs.sulu.io/en/latest/cookbook/live-preview.html and also crosschecking the example.html.twig我仍然无法找出为什么爱情预览在我的模板中不起作用。
我的模板层次结构(使用主题包):
- bs_homepage.html.twig,扩展:
- main.html.twig,扩展:
- master.html.twig
简而言之,结构如下:
bs_homepage.html.twig(只是设置一些参数并调用主模板)
{% extends "DWBNFrontendBundle:main:main.html.twig" %}
main.html.twig
{% block content %}
[...]
<div id="content" class="container" vocab="http://schema.org/" typeof="Content">
[...]
<div class="row">
[...]
<section class="col-sm-{{ mainCollSize }} main-content" id="content" vocab="http://schema.org/" typeof="Content">
{% if content.title %}
<h1 property="title">{{ content.title }}</h1>
{% endif %}
[...]
</div>
</div>
{% endblock %}
master.html.twig
[...]
<body>
<!-- content -->
{% block content %}{% endblock %}
<!-- /content -->
[...]
</block>
和 xml 定义:
bs_homepage.xml:
<?xml version="1.0" ?>
<template xmlns="http://schemas.sulu.io/template/template"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xi="http://www.w3.org/2001/XInclude"
xsi:schemaLocation="http://schemas.sulu.io/template/template http://schemas.sulu.io/template/template-1.1.xsd">
<key>bs_homepage</key>
<view>DWBNFrontendBundle:templates:bs_homepage</view>
<controller>SuluWebsiteBundle:Default:index</controller>
<cacheLifetime>2400</cacheLifetime>
<meta>
<title lang="de">Startseite</title>
<title lang="en">Homepage</title>
</meta>
<properties>
<xi:include href="fragments/content-core.xml" xpointer="xmlns(sulu=http://schemas.sulu.io/template/template) xpointer(/sulu:template/sulu:properties/sulu:section[@name='highlight'])"/>
[...]
</properties>
</template>
fragments/content-core.xml:
<?xml version="1.0" ?>
<template xmlns="http://schemas.sulu.io/template/template"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.sulu.io/template/template http://schemas.sulu.io/template/template-1.1.xsd">
<properties>
<section name="highlight">
<properties>
<property name="title" type="text_line" mandatory="true">
<params>
<param name="headline" value="true"/>
</params>
<tag name="sulu.rlp.part"/>
</property>
[...]
</properties>
</section>
</properties>
</template>
但是如果我更改标题,预览中什么也不会发生 window。
首先:在你的问题中,我看不到你的 属性 在你的 xml 中是否被命名为 "title"。
但我认为问题在于最初呈现时,h1
html 节点不存在。
因此根本无法更新此节点。
尝试添加如下内容:
<div property="title">
{% if content.title %}
<h1>{{ content.title }}</h1>
{% endif %}
</div>