Есть ли урезанный модификатор для шаблонов клинков в Laravel, в значительной степени похожий на Smarty?
Я знаю, что могу просто написать фактический php в шаблоне, но я ищу что-то приятнее писать (давайте не будем входить во весь PHP – это обсуждение шаблонов).
Так, например, я ищу что-то вроде:
{{ $myVariable|truncate:"10":"..." }}
Я знаю, что могу использовать что-то вроде Twig через композитора, но я надеюсь на встроенную функциональность в Laravel.
Если нет, то можно создать свои собственные многоразовые модификаторы, такие как Smarty. Мне нравится тот факт, что Blade не переполняет весь синтаксис, но я думаю, что truncate – это действительно удобная функция.
Я использую Laravel 4.
Изменить: этот ответ был опубликован во время бета-тестирования Laravel 4, когда класса Str не существует. Теперь есть лучший способ сделать это в Laravel 4 – вот ответ Дастина ниже. Я не могу удалить этот ответ из-за правил SO (это не позволит мне)
Сам Блейд не обладает этой функциональностью.
В Laravel 3 был класс Str, который вы могли бы сделать:
{{ Str::limit($myVariable, 10) }}
На этом этапе я не считаю, что класс Str находится в Laravel 4, но вот его порт, который вы можете включить в композитор, чтобы добавить в свой собственный проект
В Laravel 4 & 5 вы можете использовать str_limit
, который ограничивает количество символов в строке.
{{ str_limit($string, $limit = 150, $end = '...') }}
Для дополнительных вспомогательных функций Laravel http://laravel.com/docs/helpers#strings
Laravel 4 имеет Str::limit
который усекает до точного числа символов, а также Str::words
которые будут усекаться на границе слова.
Проверять, выписываться:
Вы можете задать пространство имен так:
{!! \Illuminate\Support\Str::words($item->description, 10,'....') !!}