nepster-web
@nepster-web

Yii2 twig, как регистрировать свои ассеты ?

Лазил по вот этому доку https://github.com/yiisoft/yii2/blob/master/docs/g...
Но там все красиво описано для смарти, для твига достаточно убого.

Глобально можно зарегистировать как-то так:
'globals' => [
                        'siteAssets' => 'frontend\themes\basic\assets\AppAsset',
                    ],
    {{ void( siteAssets.register(this) ) }}


А что делать если нужно зарегистрировать ассет просто для одной странички. Я попробовал сделать вот так:

{{ use('frontend/themes/basic/assets/AppAsset') }}
{{ void( AppAsset.register(this) ) }}


Хорошая попытка, но ничего не заработало. Подскажите пожалуйста как регистрировать ассеты не глобально ?
  • Вопрос задан
  • 3391 просмотр
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
{{ use('frontend/themes/basic/assets/AppAsset') }}
{{ void( AppAsset.register(this) ) }}


Что это вообще за трешак? Неужели нельзя было сделать как-то удобнее... лаконичнее... Добавить функции/ноды для регистрации использования асетов... Это делается же легко в твиге, я вообще не могу придумать чего-то что нельзя сделать в Twig-е с учетом того что у вас есть доступ к AST и вы можете влиять на генерируемый PHP код. А тут какие-то кастыли с void...

Мой вам совет - сделайте нормальный бридж Twig-а без этих кастылей со статикой и вызовами методов register(this) в шаблонах. Хоть польза для комьюнити будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы