2つのバンドルParentBundle
とがありChildBundle
ます。によってChildBundle
「拡張」ParentBundle
// ChildBundle/ChildBundle.php
<?php
namespace ChildBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class ChildBundle extends Bundle
{
public function getParent()
{
return 'ParentBundle';
}
}
ParentBundle
次に、ルーティングをからにコピーし、ChildBundle
で使用するルーティングを指定し、Symfony2バンドル継承に従って親バンドルルートを失うapp/config/routing.yml
ように名前を変更しますrouting.yml
// app/config/routing.yml
child:
resource: "@ChildBundle/Resources/config/routing_child.yml"
hostname_pattern: child.example.com
prefix: /
parent:
resource: "@ParentBundle/Resources/config/routing.yml"
prefix: /
その後、ChildBundle
同じパスと名前でテンプレートを作成しParentBundle
、同じ名前のテンプレートをオーバーライドします。
ただし、その結果、ChildBundle
常にテンプレートが読み込まれます。
だから、私の問題は、別のドメインで使用している間(つまり、オーバーライドされたテンプレート/コントローラーなどを使用しているときに、あるドメインでオーバーライドするテンプレート/コントローラーChildBundle
などを使用する方法)です。 、ユーザーがexample.comにアクセスしたとき)?ChildBundle
ParentBundle
ParentBundle