i18n в моей собственной ветке - PullRequest
0 голосов
/ 13 февраля 2012

Как я могу использовать веточки i18n в своем собственном расширении для веточек?

Это то, что у меня есть сейчас: http://pastebin.com/yNhHuC6C, но нужно использовать i18n внутри.

Спасибо

1 Ответ

1 голос
/ 14 февраля 2012

У вас наверняка есть служебное определение этого расширения ветки, что-то вроде:

    <service id="test_post_extension" class="Test\PostBundle\Twig\Extensions\TestPostExtension">
        <tag name="twig.extension" />
    </service>

Вы можете добавить любую другую услугу, например twig.extension.trans.

XML становится:

    <service id="test_post_extension" class="Test\PostBundle\Twig\Extensions\TestPostExtension">
        <tag name="twig.extension" />
        <argument type="service" id="twig.extension.trans" />
    </service>

Ваш класс TestPostExtension тогда получит Symfony\Bridge\Twig\Extension\TranslationExtension в качестве первого аргумента своего конструктора:

namespace Test\PostBundle\Twig\Extensions;

class TestPostExtension extends \Twig_Extension
{
    public function __construct(Symfony\Bridge\Twig\Extension\TranslationExtension $transExt) {
        $this->transExt = $transExt;
    }

     // some stuff
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...