質問: コンポーネントで他のコンポーネントのモデルをどのように使用できますか? コンポーネントを作成していますが、#__ contentテーブルにアクセスする必要があります。コンポーネントcom_contentは、コンポーネントがそのテーブルで実行する必要があるすべてのことを実行します。コンポーネントのコントローラーにcom_contentモデルをインポートするにはどうすればよいですか?独自のテーブルを作成する代わりに既存のテーブルを使用することは良い習慣ですか?私のコンポーネントはコメント付きのフォトギャラリーを表示し、#__ contentテーブルを使用してコメントを保存したいと思います。コメントに新しいテーブルを作成する必要がありますか?
回答: _com_content_モデルは、addincludepath()メソッドを使用してコントローラーにインポートできます。_jmodellegacy::addincludepath(jpath_site . '/components/com_content/models', 'contentmodel'); _addincludepath()メソッドは、jmodellegacyがモデルを検索するディレクトリを追加します。最初のパラメータとして文字列またはディレクトリの配列を渡すことができます。 2番目のパラメーターとして、モデルのクラスプレフィックスを指定できます(オプション)。次に、getinstance()メソッドを使用します。_$model = jmodellegacy::getinstance('articles', 'contentmodel', array('ignore_request' => true)); _最初のパラメーターはインスタンス化するモデルタイプ、2番目はモデルクラス名のプレフィックス(オプション)、3番目のパラメーターはモデルの構成配列(オプション)です。しかし、私はカスタムコンポーネントに既存のコアコンポーネントテーブルを使用しないことを好みます。