0

統合しようとしている 2 つのコンポーネントがあります。

コンポーネント #1 に新しいビューを作成しました。

コンポーネント #2 からコンテンツを iframe またはロードしたいと考えています。

「tmpl=component」を追加すると、iframe は正常に機能しますが、iframe 内のリンクをクリックします。joomla には、joomla のフッターとヘッダーが含まれています。

コンポーネント #2 からコンポーネント #1 にコンテンツをロードする効率的な方法はありますか?

joomla テンプレートにアクセスできません。コンポーネント #1 と #2 にしかアクセスできません。

ありがとう。

4

1 に答える 1

1

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() などを使用して、セカンダリ コンポーネントのアイテムをメイン コンポーネントで使用できるようにします。

于 2013-07-18T09:06:34.753 に答える