Я не очень знаком с twig, я пытаюсь получить расширение изображения, но я не уверен, как это сделать в twig, в php очень легко использовать строковые функции, такие как substr и indexof, или с помощью следующее: ext = pathinfo ('/ testdir/dir2/image.gif', PATHINFO_EXTENSION), я не хочу кодировать его в контроллере и передавать его в twig как параметр, вместо этого я хочу извлечь его непосредственно в макете ветви , так как же вы собираетесь это делать?Получение расширения изображения в Twig Symfony2
ответ
Вы можете создать Twig extension, который будет содержать
пространства имен YourApp \ AcmeBundle \ Twig;
class MyTwigExtension extends \Twig_Extension
{
public function getFilters(){
return array(
new \Twig_SimpleFilter('ext', array($this, 'ext')),
);
}
public function ext($filepath){
$ext = pathinfo($filepath, PATHINFO_EXTENSION);
return $ext;
}
}
В прутьях используйте разделительный фильтр. см. http://twig.sensiolabs.org/doc/filters/split.html
Вы также можете просто получить расширение в контроллере и передать его на веточку.
благодаря этим работало для меня – ZeSoft
Один из подходов состоит в использовании фильтра Twig's slice.
Например, если путь к файлу изображения является imgSrc
, то imgSrc|slice(-4)
даст вам последние 4 символа имени файла (например. .gif
, .jpg
, jpeg
).
Вы можете получить расширение файла, таким образом
{{ "filename.txt"|split('.')|last }}
- 1. Ошибка расширения Twig, Symfony2
- 2. Получение значения заполнителя в Twig/Symfony2
- 3. Получение аргументов из шаблонов Twig в Symfony2
- 4. Получение имени виджета формы в Symfony2/Twig
- 5. Как использовать расширение symfony2 twig без symfony2
- 6. Получение расширения файла изображения
- 7. Symfony2 - base64_decode в twig
- 8. Twig: скомпилированная производительность расширения C
- 9. Symfony2: disable Twig cache
- 10. Symfony2/Twig синтаксис
- 11. Symfony2 Twig расширение RuntimeException
- 12. Symfony2 Twig url() https
- 13. symfony2 twig html tags
- 14. Symfony2 Twig Style Sheet
- 15. Symfony2 twig forms
- 16. Symfony2 Twig загрузка шаблонов
- 17. Symfony2: Twig detect noscript
- 18. Symfony2 Twig Политика безопасности
- 19. Symfony2 routing & twig
- 20. Haml/Twig in Symfony2
- 21. Symfony2 Twig and XSL
- 22. Symfony2 и Twig sidebar
- 23. Inject twig variable symfony2
- 24. Symfony2, twig и JavaScript
- 25. Symfony2: Как вынести частичное в расширение Twig
- 26. Использование javascript в Symfony2/Twig
- 27. Injecting Twig как услуга в Symfony2
- 28. Невозможно переопределить класс в Symfony2 Расширение Twig
- 29. Symfony2 - обновления Twig не отображаются
- 30. Symfony2 Extend Twig Block в прослушивателе событий
как biginner я буду избежать этого решения, потому что, если я должен работать с расширением веточки, то я должен знать, как работать с потому что расширения не лениво загружаются. как я читал в статье, которую вы мне дали, спасибо, по крайней мере, у меня есть идея об этом :) – ZeSoft