Можно ли фильтровать теги в Rythm?
Я хочу разрешить определенные теги, такие как if
и for
, и запретить все остальные теги (особенно @{ }
).
Можно ли фильтровать теги в Rythm?
Я хочу разрешить определенные теги, такие как if
и for
, и запретить все остальные теги (особенно @{ }
).
На данный момент нет механизма фильтрации. Однако Rythm предоставляет утилиту под названием Dialect, позволяющую автору шаблона использовать ограниченный набор директив Rythm. Например, SimpleRythm
НЕ позволяет вам использовать следующие директивы:
"@extends",
"@section",
"@render",
"@inherited",
"@doLayout",
"@doBody",
"@include",
"@set",
"@get",
"@init",
"@finally",
"@nosim"
В то время как BasicRythm
более ограничен, и вы не можете использовать ни одну из следующих директив:
"@args",
"@assign",
"@debug",
"@doLayout",
"@doBody",
"@extends",
"@section",
"@render",
"@inherited",
"@i18n",
"@import",
"@include",
"@invoke",
"@locale",
"@set",
"@get",
"@init",
"@finally",
"@expand",
"@exec",
"@macro",
"@compact",
"@nocompact",
"@def ",
"@tag ",
"@return",
"@nosim",
"@verbatim"
Чтобы использовать определенный диалект, вместо использования
String result = engine.render(...);
Используйте следующий код:
ITemplate template = engine.getTemplate(SimpleRythm.INSTANCE, ...);
String result = template.render();
На данный момент невозможно предотвратить @{...}
. Чтобы запросить конфигурация для отключения сценариев в шаблоне Rythm