私のアプリケーションでは、会社が独自のサブドメインを持っています。カーネルリクエストイベントをリッスンし、サブドメインに一致する会社に基づいて Company Filter(Doctrine Filter) パラメーターを設定します。
public function setCompanyFilter($companyId)
{
/** @var EntityManager $entityManager */
$entityManager = $this->container->get('doctrine')->getManager();
$filters = $entityManager->getFilters();
$companyFilter = $filters->isEnabled('company_filter')
? $filters->getFilter('company_filter')
: $filters->enable('company_filter');
$companyFilter->setParameter('company', $companyId);
}
私が抱えている問題は、twig 拡張機能 (フィルター/関数) でパラメーターが設定されていないことです。フィルター/関数を実行する前に値を設定すると、すべてが期待どおりに機能します。
すべての小枝フィルター/関数/タグの前にコードを実行する方法はありますか? 小枝のイベントを聞くのが好きですか?または、すべての小枝フィルター/関数/タグで setCompanyFilter を呼び出さずにこの問題を解決するにはどうすればよいですか?
ありがとう