私はJoomla 3用のカスタムコンポーネントを生成するためにコンポーネントクリエータを使用しました。フロントエンドのモデルの機能を必要とする管理者パネルのビューがあります。彼はあると思われることに応答して、Joomla 3 - カスタムコンポーネント - 管理者ビューからサイトモデルにアクセスする方法
しかし:私は、適切な答えを見つけるためにしようと、数日間のGoogle検索をやっている
、これは私が作業応答になってきた最も近いです別のサイトビューのサイトビューモデルを使用します。ここで
は私のコンポーネントの構造について少しです:
名:com_stargazer
管理ビュー:?メール
index.phpのオプション= com_stargazer &ビュー=メール&レイアウト=テスト /管理者/コンポーネント/ com_stargazer/views/email/tmpl/test.php
サイトの表示とモデル:returnpage
/components/com_stargazer/models/returnpage.php /components/com_stargazer/views/returnpage/tmpl/default.php
私は、パスを含めてサイトのモデルを含めるために、私の管理ビューを変更しようとした:
$this->setModel(getModel(JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_stargazer/models', 'returnpageModel')));
$this->setModel(JModelLegacy::getInstance('returnpage', 'stargazerModel'));
// assigns array from the second model to 'ItemsOtherModel.' there is no '$' sign used.
$this->ItemsOtherModel = $this->get('tags','returnpage');
ただし、getModelはビューからアクセスできないようです。 (?おそらくコントローラのみ)
その他、参照が(コメントで掲示その他の参照)、コントローラ変更すると言う:最後の数日間に
https://docs.joomla.org/Using_multiple_models_in_an_MVC_component
を、私は上記の様々な繰り返しを試してみました参照されたコードサンプル。 。 。最終的に私はどのコントローラを変更するのか混乱していますか?これを動作させるにはadminコントローラを変更する必要がありますか、またはサイトコントローラですか? adminモデルに関数を追加して、サイトビューでアクセスする方が簡単でしょうか?
エラーを投げているモデルがわからないため、デバッグも難しかったです。これまでのところ私の推測では、運営者の視点からはサイトモデルにはまったく付き合っていなかったということです。これを並べ替えることでどんな助けにも感謝します。
これは私の最初の質問ですので、十分明確であることを願っています。
必要に応じて明確にすることができます。 ありがとうございます。
その他Referrencesのrequire_onceを使用することができますJLoaderを使用する: https://www.component-creator.com/en/forum/community-support/153-multiple-models-in-one-view-for-j3-3 *** https://api.joomla.org/cms-3/classes/JModelLegacy.html *** https://www.corephp.com/blog/joomla-mvc-load-a-model-from-anywhere/ *** https://lvstechnologies.wordpress.com/2013/07/17/joomla-mvc-load-a-model-from-anywhere/ *** –