2016-02-26 2 views
1

Согласно this page documentatation, следующий код должен работать нормально:Как включить утверждение в Twig?

<div class="paginator"> 
    <strong>pagina</strong> 
    <!-- Loop here --> 
    <a class="current "href="#">1</a> 
    <!-- End loop --> 
    <!-- This tag is only an example: --><a href="#">2</a> 
    {% include 'pagination.html.twig' with { 
     currentFilters: { myFilter: filtervariables }, 
     currentPage: page, 
     paginationPath: "myroute", 
     lastPage: totalPages, 
     showAlwaysFirstAndLast: true 
    } only %} 
</div> 

Однако он возвращает:

Unable to find template "pagination.html.twig" in something.html.twig at line (number).

Страница находится в той же папке, что и pagination.html.twig, так что я не могу понять, что происходит. Есть ли кто-нибудь, кто может объяснить мне, что происходит?

Заранее спасибо.

ответ

3

Во-первых, это лучше использовать, включают функцию, а не тег ({{ include('pagination.html.twig, {}) }}), поскольку тег является устаревшим, и он будет удален в какой-то момент (http://twig.sensiolabs.org/doc/functions/include.html)

Затем вы должны использовать полный квалифицированный путь к шаблону. если ваш pagination.html.twig находится в папке app/Resources/foo/bar, вы должны написать foo/bar/pagination.html.twig. Если он находится в папке src/Bundle/FooBundle/Resources/views/bar, вы должны написать @Foo/bar/pagination.html.twig

+0

Необходимо просто вернуть 'somefolder/template.html.twig' вместо' views/somefolder/template.htm.twig' – Barrosy

+0

А, не знал, что тег будет устаревшим, не может найти заметку об этом на http://twig.sensiolabs.org/doc/tags/include.html – Rvanlaak

+0

Хм, На самом деле, он не устарел. Но это должно быть;) (тег не должен выводить содержимое) – lyrixx

0

Попробуйте установить путь, используя имя пакета и имя каталога вида ЭТС:

{{ include('AppBundle:Default:pagination.html.twig', {}) }} 

где «AppBundle» является имя пакета содержит вид с «по умолчанию» каталог с файлом pagination.html.twig.

+0

AppBundle: По умолчанию: pagination.html.twig - это старый способ ссылки на представление. См. Мой ответ для современного способа. – lyrixx

+0

Спасибо lyrixx, на самом деле я не знал, что это старый способ. –

Смежные вопросы