Bolt CMS 中的 path.theme 是什么,它在哪里定义?

what is path.theme in bolt CMS and where is it defined?

我刚刚在 bolt 的默认主题中查看 _master.twig 的代码,我遇到了以下代码行:

{% set main_width = theme.layout.main_width|default(8) %}
{% set aside_width = theme.layout.aside_width|default(4) %}
<!doctype html>
<html class="no-js" lang="{{ htmllang() }}">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        {# make sure we always display a proper title: The record's title if there is one, appended with the
           sitename. If there is no title, we append the sitename with the payoff, if there is one. #}
        <title>
            {%- if record.title is defined %}{{ record.title|striptags }} | {% endif -%}
                {{ app.config.get('general/sitename') -}}
            {% if record.title is not defined and app.config.get('general/payoff') %} | {{ app.config.get('general/payoff') }}{% endif -%}
        </title>
        <link rel="stylesheet" href="{{ paths.theme }}css/foundation.css">
        <link rel="stylesheet" href="{{ paths.theme }}css/theme.css">
        <link href='https://fonts.googleapis.com/css?family=Noto+Sans:700,700italic' rel='stylesheet' type='text/css'>
        {% block headincludes %}
        {% endblock headincludes %}
    </head>

我只想知道什么是paths.theme,它在哪里定义的??这个变量在 bolt CMS 中是什么意思??

看看螺栓 Cheatsheet。在那里你可以找到所有可用的路径。

paths.theme变量包含模板根目录的当前相对路径,例如/theme/base-2016/.

要列出模板中所有可用的路径变量,只需添加以下片段 {{ dump(paths) }}

啊,是的。这实际上可以追溯到我们将在 3.x 中删除的 Bolt 1.x 功能,但是……时间压力。 ;-)

我们最近 removed/cleaned that up in those base templates 因为我们已经通过 Symfony Asset 实现了一段时间的功能。

现在正确的方法如下:

<link rel="stylesheet" href="{{ asset('css/foundation.css', 'theme') }}">

其中 theme 是 Symfony 资产 "theme packages",在本例中是当前 运行 主题,css/foundation.cssfoundation.css 的路径,相对也到 运行 主题目录。

至于它们在哪里定义的…… asset service provider.