разрешить новые методы в политике песочницы в twig (drupal 8)

Я получаю эту ошибку при использовании модуля "сбор полей":

 Twig_Sandbox_SecurityError: Calling "uri" method on a "Drupal\field_collection\Entity\FieldCollectionItem" object is not allowed in "themes/communitylife/templates/content/node.html.twig" at line 83. in Drupal\Core\Template\TwigSandboxPolicy->checkMethodAllowed() (line 99 of core/lib/Drupal/Core/Template/TwigSandboxPolicy.php).

код, вызывающий проблему, следующий:

<div class=" title-col col-md-7">

     <a  href="{{file_url(node.field_pressemappe_bildmaterial[key].getFieldCollectionItem().field_presse_bild_file.entity.uri.value)}}" target="_blank"> <strong> {{node.field_pressemappe_bildmaterial[key].getFieldCollectionItem().field_presse_bild_description.value}}

      <span class="file-type"> ({{node.field_pressemappe_bildmaterial[key].getFieldCollectionItem().field_presse_bild_file.entity.uri.value | slice(-3) }} </span>, <span class="file-size"> {{node.field_pressemappe_bildmaterial[key].getFieldCollectionItem().field_presse_bild_file.entity.size }}) </span> 

      </strong></a>

</div>

как лучше всего это исправить? это путем добавления (uri) к разрешенным методам в политике песочницы? если да, то как я могу это сделать?

Я прочитал в документации по ветке, что могу сделать что-то вроде этого:

    $policy = new Twig_Sandbox_SecurityPolicy($tags, $filters, $methods, $properties, $functions);

но я не понимал, как и куда поместить этот код.

заранее спасибо


person Asma Supih    schedule 17.10.2016    source источник
comment
Возможный дубликат Как правильно включить расширение песочницы ветки в Symfony2?   -  person DarkBee    schedule 17.10.2016


Ответы (1)


Политика песочницы веточки Drupal (определенная в core / lib / Drupal / Core / Template / TwigSandboxPolicy.php) считывается из глобального массива $ settings, поэтому вы можете определить свою собственную в файле settings.php, т.е.

// Override default twig method whitelist.
$settings['twig_sandbox_whitelisted_methods'] = [
  // Defaults:
  'id',
  'label',
  'bundle',
  'get',
  '__toString',
  'toString',
  // Additions:
  'url',
];
person Sut3kh    schedule 26.07.2017