iframe を使用することは最善の選択肢ではありません。メイン コンポーネントのコントローラーから他のコンポーネントのモデルを呼び出し、メイン コンポーネントからビューを処理する方がよいでしょう。したがって、ダブル コンポーネントはバックエンド ロジックにのみ存在し、ビューはメイン コンポーネントだけで完全に処理されます。
これは、セカンダリ コンポーネントの開発者が、間違ったコンポーネントを指す JPATH_COMPONENT またはその他の定数の使用を控えた場合にのみ機能します。
例を作成するには、コントローラーまたはメイン コンポーネントのモデルで次のようにします。
$com_path = JPATH_SITE.'/components/com_secondary_component/models';
JModelLegacy::addIncludePath($com_path , 'SecCompPrefixModel');
$secondaryModel = JModelLegacy::getInstance( 'modelName', 'SecCompPrefixModel' ,array('ignore_request' => true));
... 次に、$secondaryModel->getItems() などを使用して、セカンダリ コンポーネントのアイテムをメイン コンポーネントで使用できるようにします。