Twig 更改元数据 [英] Twig change meta data

查看:29
本文介绍了Twig 更改元数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在树枝中获取页面的元数据,以便用我的值替换它们,但我不知道如何获取它们.

现在我有:

{% if spec.name 匹配 '{meta}' %}{% set getdatas = app.request.server.get('REQUEST_URI') %}//使用 uri 进行测试,我需要相同的但使用 meta_title、meta_description...{{ dump(uri|replace({'domaine': spec.name})) }}{% 万一 %}

解决方案

如果你想覆盖 Twig 中的任何东西,你需要为它创建一个块.举个例子:

base.html.twig

<html lang="zh-cn"><头><meta charset="utf-8">{% 块元 %}{% 端块 %}{% 块标题 %}{% endblock %}{% 块样式表 %}{% endblock %}<身体>{% 块体 %}{% 端块 %}</html>

parent.html.twig

{% 扩展 'base.html.twig' %}{% 块样式表 %}# 我的额外款式...{% 结束块 %}{% 块体 %}<div>{% 块内容 %}{% 端块 %}

{% 结束块 %}

child.html.twig

{% 扩展 'parent.html.twig' %}{% 块标题 %}我的页面{% endblock %}{% 块元 %}<元键=值">{% 结束块 %}{% 块内容 %}我的内容{% endblock %}

i need to get meta data of the page in twig, for replace them by my values, but i don't find how get them.

For now i have :

{% if spec.name matches '{meta}'  %}
       {% set getdatas = app.request.server.get('REQUEST_URI') %} // use uri for test, i need the same but with meta_title, meta_description...
       {{ dump(uri|replace({'domaine': spec.name})) }}
{% endif %}

解决方案

If you want to override anything in Twig, you need to create a block for it. As an example:

base.html.twig

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  {% block meta %}{% endblock %}
  <title>{% block title %}{% endblock %}</title>
  {% block stylesheets %}{% endblock %}
</head>
<body>
  {% block body %}{% endblock %}
</body>
</html>

parent.html.twig

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

{% block stylesheets %}
  # My extra styles...
{% endblock %}

{% block body %}
  <div>
    {% block content %}{% endblock %}
  </div>
{% endblock %}

child.html.twig

{% extends 'parent.html.twig' %}

{% block title %}My page{% endblock %}

{% block meta %}
  <meta key="value">
{% endblock %}

{% block content %}My content{% endblock %}

这篇关于Twig 更改元数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆