المرشح data_uri في Twig

من موسوعة حسوب

يولد المرشح data_uri رابطًا تشعبيًا (URL) باستخدام نظام البيانات المعرَّف في RFC 2397:

{{ image_data|data_uri }}

{{ source('path_to_image')|data_uri }}

{# وعطل تخمين نوعه (MIME) ألزِم استخدام نوع امتدادات البريد متعدد الأغراض 
 #}
{{ image_data|data_uri(mime="image/svg") }}

{# يعمل أيضًا مع النصوص المجردة #}
{{ '<b>foobar</b>'|data_uri(mime="text/html") }}

{# أضف معامِلات أخرى #}
{{ '<b>foobar</b>'|data_uri(mime="text/html", parameters={charset: "ascii"}) }}

لاحظ أن المرشح data_uri جزء من HTMLExtension وهذا لا يكون مثبتًا افتراضيًا، لذا ثبته أولًا:

$ composer require twig/html-extra

ثم ثبت twig/extra-bundle في حالة مشاريع Symfony:

$ composer require twig/extra-bundle

أما غير ذلك فأضف التوسيع صراحة إلى بيئة Twig:

use Twig\Extra\Html\HtmlExtension;

$twig = new \Twig\Environment(...);
$twig->addExtension(new HtmlExtension());

لاحظ أن المرشح لا يجري أي عملية تحقق من الطول عمدًا إذ يعتمد الحد على سياق الاستخدام، ولكن يتم التحقق قبل استدعاء هذا المرشح.

الوسائط

  • mime: نوع mime.
  • parameters: أي مصفوفة من المعامِلات.

انظر أيضًا

المصادر