コンポーネントを作成していますが、#__ 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番目のパラメーターはモデルの構成配列(オプション)です。
しかし、私はカスタムコンポーネントに既存のコアコンポーネントテーブルを使用しないことを好みます。