Как вставить php код в twig?

Пользователь

от kenya , в категории: PHP , месяц назад

Как вставить php код в twig?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

A

Администратор

от admin , месяц назад

@kenya Вы не сможете вставить напрямую PHP код в twig шаблон, но Вы можете создать фильтр или функцию на PHP и затем использовать ее в Twig, например:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace App\Twig;

use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;

class AppExtension extends AbstractExtension
{
    public function getFilters()
    {
        return [
            new TwigFilter('price', [$this, 'formatPrice']),
        ];
    }

    public function formatPrice(float $number, int $decimals = 0, string $decPoint = '.', string $thousandsSep = ','): string
    {
        $price = number_format($number, $decimals, $decPoint, $thousandsSep);
        $price = '$'.$price;

        return $price;
    }
}


И затем в Twig можно использовать этот фильтр:

1
{{ product.price|price(2, ',', '.') }}


Более подробно можно также найти в документации https://symfony.com/doc/current/templating/twig_extension.html