2013-05-07 1 views
4

Я использую веточку с laravel, используя TwigBridge. Я хотел бы зарегистрировать пользовательскую функцию для использования из шаблонов ветви.Как использовать пользовательские функции твига в laravel с помощью TwigBridge

В документах указано, что расширения могут быть добавлены через массив расширений, но это мне не ясно.

В каком массиве расширения содержится ссылка на документацию?

ответ

2

Что относится к this array в файле конфигурации. Вы должны опубликовать конфигурацию в своем приложении/ с использованием php artisan config:publish rcrowe/twigbridge, а затем отредактировать этот массив. Как вы можете видеть в том же файле конфигурации, вы также можете добавить псевдоним.

Вы можете создать класс с вашими пользовательскими функциями, расширяя \TwigBridge\Extension, а затем добавить его в свою конфигурацию.

14

Процесс я последовала:

  1. Создать мой класс фильтров в app/extensions/twig/TwigFilters.php:

    namespace App\Extensions\Twig; 
    
    class TwigFilters extends \Twig_Extension { 
        //... filters implementation 
    } 
    
  2. Добавить папку фильтра composer.json autoload > classmap

    "autoload": { 
        "classmap": [ 
         ... 
         "app/extensions/twig", 
         ... 
        ] 
    }, 
    
  3. Обновление автозагрузчика: php composer.phar dump-autoload

  4. Создание конфигурации TwigBridge в app/config/packages/rcrowe/twigbridge/config.php:

    php artisan config:publish rcrowe/twigbridge 
    
  5. Редактировать extensions ключ к созданной ранее config.php:

    'extensions' => array(
        ... 
        'App\Extensions\Twig\TwigFilters', 
        ... 
    ) 
    
  6. Все фильтры, определенные в класс уже доступны в представлениях Twig.

Дополнительная информация:

+0

Это работало отлично для меня. Большое спасибо!! – Artistan

+0

Отличный ответ. Благодарю. –

+1

Отлично, но я также получил свою работу, не редактируя файл 'composer.json'. Кажется, просто добавление расширения к 'config/twigbridge.php' достаточно. – enchance

Смежные вопросы