Joomla と Jomsocial で作成した Web サイトがあります。
モバイルアプリがアクセスできるように、Joomla で Web サービス/API を作成しています。
モバイルアプリは、ウェブサイトとほぼ同じ機能を備えています。
controller/model externally
Web サービス/API内で定義された関数 (タスク) にアクセスできますか? どのように?
注: phonegap を使用してモバイル アプリを開発しています
Joomla と Jomsocial で作成した Web サイトがあります。
モバイルアプリがアクセスできるように、Joomla で Web サービス/API を作成しています。
モバイルアプリは、ウェブサイトとほぼ同じ機能を備えています。
controller/model externally
Web サービス/API内で定義された関数 (タスク) にアクセスできますか? どのように?
注: phonegap を使用してモバイル アプリを開発しています
モデルまたはビューで特定の関数を直接呼び出すことはできません。
ただし、コントローラーでパラメーターを持たないパブリック メソッドは、次のように呼び出されます。
yoursite/index.php?option=com_yourcomponent&task=yourpublicmethod.
これにより、指定されたメソッドがトリガーされ、関連するすべてのモジュールなどとともに、Joomla テンプレート内でレンダリングされます。
メインコンポーネントの出力のみが必要な場合は、呼び出しに追加します
&tmpl=component
index.php の代わりにテンプレートの component.php を介してレンダリングします。通常、前者は外部リソース (css と js) とメイン コンポーネントの出力のみをロードします。
それ以外の場合、関数がコード (html xml または json) を返す場合は、次のように呼び出すことができます。
&format=raw
publicmethod の生の出力だけを返します。これは、命令を使用してコンポーネント レベルでも実現できます。
exit;
あなたのpublicmethodの実装の最後に
Joomla CMS は MVC パターン (module-view-controlle) を実装していますが、ビューのわずかな違いがあります。ビューモデル ビューを実装します。
Joomla では、すべてがコンポーネントです。各コンポーネントは、モデル、ビュー、コントローラー、db テーブルなどを持つことができます。
どのように機能するかの簡単な例は、「helloworld」コンポーネントと言うコンポーネントを作成することです。このコンポーネントは、コンポーネントの管理パネル部分の場合は JROOT/administrator/components/com_helloworld にあり、フロントエンドの場合は JROOT/components/com_helloworld にあります。
これらのディレクトリには、このリクエストに対して MVC 全体をトリガーする com_helloworld.php という 1 つのファイルがあります。
Joomla はフロント コントローラー パターンを実装していますが、コンポーネントを構築することができますが、(フロント コントローラーの有無にかかわらず) 最適です。
http://domainname.com/index.php?option=com_helloworldをリクエストすると、前述の com_helloworld ファイルが呼び出され、その中のすべてが実行されます。
詳細については、Joomla CMS 2.5 コンポーネントの開発に関する非常に役立つ記事を参照してください。
http://docs.joomla.org/Developing_a_Model-View-Controller_Component/2.5/はじめに
お役に立てれば :)