Вложенные блоки и множественное наследование с помощью древесины - PullRequest
0 голосов

Я пытался следовать этому И это не работает, как (как я думаю), как должно. Я хочу заменить содержимое в блоке «заголовок» или добавить к нему, но я просто получаю заголовок, как установлено в single.twig.

base.twig:

<!-- Stuff -->

    {% block content %}
        Sorry, no content
    {% endblock %}

<!-- More Stuff -->

single.twig:

{% extends "base.twig" %}

{% block content %}

<!-- Stuff-->               
{% block headline %}                    
    <h1 class="article-h1">
        <a href="{{post.link}}">{{ post.title }}</a>
    </h1>
{% endblock headline %}             

<!-- More Stuff-->  

{% endblock %}

одиночный столб-mypost.twig:

{% extends "single.twig" %}

{% block headline %}
    {{parent()}}
    <h1>Custom Header</h1>
{% endblock headline %}

1 Ответ

0 голосов

Я узнал, почему это не работает.

В single.php Timber :: render искал $ post-> ID и $ post-> post_type и не искал $ post-> post_name.

Теперь работает.

Я так много возился, что не помню, есть ли это в первоначальной теме стартера Timber, но вот код на случай, если кто-то столкнется с той же проблемой.

$context = Timber::get_context();
$post = Timber::query_post();
$context['post'] = $post;
$context['sidebar'] = Timber::get_sidebar('sidebar.php');

if ( post_password_required( $post->ID ) ) {
    Timber::render( 'single-password.twig', $context );
} else {
    Timber::render( array( 'single-' . $post->post_name . '.twig', 'single-' . $post->ID . '.twig', 'single-' . $post->post_type . '.twig', 'single.twig' ), $context );
}
...