Я хочу использовать фильтр markdown_to_html
для рендеринга makrdown внутри моего шаблона, поэтому я попытался следовать инструкциям в документации, но фильтр добавлен неправильно. Ошибка, которую я получаю при рендеринге шаблона: Сообщение: Неизвестный фильтр markdown_to_ html.
Вот мой код:
// Load twig and the markdown extension
require_once "../vendor/autoload.php";
$loader = new \Twig\Loader\FilesystemLoader("../templates");
$twig = new \Twig\Environment($loader, [
"cache" => "../cache/twig",
"debug" => true,
"autoescape" => false,
]);
use Twig\Extra\Markdown\DefaultMarkdown;
use Twig\Extra\Markdown\MarkdownRuntime;
use Twig\RuntimeLoader\RuntimeLoaderInterface;
$twig->addRuntimeLoader(new class implements RuntimeLoaderInterface {
public function load($class) {
if (MarkdownRuntime::class === $class) {
return new MarkdownRuntime(new DefaultMarkdown());
}
}
});
// Read md file and render template
$markdown = file_get_contents("content/text.md");
try {
echo $twig->render("template.phtml", ["text" => $markdown]);
}
catch(Exception $e) {
echo 'Message: ' . $e->getMessage();
}
Шаблон:
{% apply markdown_to_html %}
{{ text }}
{% endapply %}
Я добавил twig/twig
и twig/markdown-extra
, обе версии 3.0
. Спасибо за любую помощь.