Problem/Motivation

It was out of scope for #2396607-31: Allow Views token matching for validation (and remove dead code) but we can add validation to Views UI to prevent saving invalid Twig now that the Views rewrite functionality uses Twig: https://www.drupal.org/node/2404639

Proposed resolution

Add some validation, example code:

try {
  $environment->parse($environment->tokenize($templateCode));
} catch (\Twig_Error_Syntax $e) {
  // Display validation error.
}

Remaining tasks

  • Patch
  • Tests
  • Review

User interface changes

Validation errors would be displayed.

API changes

TBD

Comments

dawehner’s picture

Adding a tag.

+1 for doing it

Fabianx’s picture

However this is soft-blocked on #2492839: Views replacement token bc layer allows for Twig template injection via arguments, because how else could we say that e.g.:

node/{{ %1 }} is a valid twig template, while it might be after being replaced with e.g. 1 ...

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.