I created a template views_block__applications_block_1.twig for a block used on one of my pages. The block is based on a block view (unformatted list). Under blocks, the machine-readable name is views_block__applications_block_1. After searching around, I found that views_block__applications_block_1.twig should be the right template name. But no matter what I try, it doesn't seem to be working, all changes to the file are invisible. Can anybody point me in the right direction?

File content:

 * @file
 * Theme override to display a view of unformatted rows.
 * Available variables:
 * - title: The title of this group of rows. May be empty.
 * - rows: A list of the view's row items.
 *   - attributes: The row's HTML attributes.
 *   - content: The row's content.
 * - view: The view object.
 * - default_row_class: A flag indicating whether default classes should be
 *   used on rows.
 * @see template_preprocess_views_view_unformatted()
{% if title %}
  <h3>{{ title }} - TEST</h3>
{% endif %}
{% for row in rows %}
    set row_classes = [
      default_row_class ? 'views-row',
  <div{{ row.attributes.addClass(row_classes) }}>
    {{ row.content }}
{% endfor %}

1 Answer 1


The correct naming is:


Also, the custom template should be based on the views-view.html.twig template, rather than on the views-view-unformatted.html.twig template.

The following are the possible template names sorted by precedence:

[base template name]--[view machine name]--[view display id].html.twig

[base template name]--[view machine name]--[view display type].html.twig

[base template name]--[view display type].html.twig

[base template name]--[view machine name].html.twig

[base template name].html.twig

(Source: http://redcrackle.com/blog/drupal-8/theme-views-templates)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.