Search code examples
symfonyknppaginator

knp_paginator failed to open stream


After updating to Symfony 2.6, pages using kn._paginator no longer load:

An exception has been thrown during the rendering of a template 
("Warning: file_get_contents(/Users/steve/dev/sites/virtual/newgt/
vendor/knplabs/knp-paginator-bundle/Knp/Bundle/PaginatorBundle/Resources/views
/Pagination/sliding.html.twig): 
failed to open stream: No such file or directory") in
NewgtMediaBundle:Default:showSeriesSeason.html.twig at line 32


Config.yml ::
# KNP Paginator
knp_paginator:
    page_range: 5                      # default page range used in pagination control
    default_options:
        page_name: page                # page query parameter name
        sort_field_name: sort          # sort field query parameter name
        sort_direction_name: direction # sort direction query parameter name
        distinct: true                 # ensure distinct results, useful when ORM queries are using GROUP BY statements
    template:
        pagination: KnpPaginatorBundle:Pagination:sliding.html.twig     # sliding pagination controls template
        sortable: KnpPaginatorBundle:Pagination:sortable_link.html.twig # sort link template

The requested template:

/Users/steve/dev/sites/virtual/newgt/vendor/knplabs/knp-paginator-bundle/Knp/Bundle/PaginatorBundle/Resources/views/Pagination/sliding.html.twig 

actually exists at:

/Users/steve/dev/sites/virtual/newgt/vendor/knplabs/knp-paginator-bundle/Resources/views/Pagination/sliding.html.twig

How do I tell my app where knp_paginator should look for the template?


Solution

  • Update config.yml

    knp_paginator:
    ....
        template:
            # Following two lines were present before Symfony 2.6 upgrade. 
            # Commented out to load from default location.
            # pagination: KnpPaginatorBundle:Pagination:sliding.html.twig     # sliding pagination
            # sortable: KnpPaginatorBundle:Pagination:sortable_link.html.twig # sort link template
    

    Then

    sudo rm -rf app/cache/prod 
    app/console cache:clear –env=prod
    

    (same for –-env=dev)

    both
    http://mysite/app_dev.php/media/gallery/24223?page=5&count=82&number=1752&series=FIAGT&season=2009 and http://mysite/media/gallery/24223?page=5&count=82&number=1752&series=FIAGT&season=2009

    are working again.