4

Joomla と Jomsocial で作成した Web サイトがあります。

モバイルアプリがアクセスできるように、Joomla で Web サービス/API を作成しています。

モバイルアプリは、ウェブサイトとほぼ同じ機能を備えています。

controller/model externallyWeb サービス/API内で定義された関数 (タスク) にアクセスできますか? どのように?

注: phonegap を使用してモバイル アプリを開発しています

4

2 に答える 2

3

モデルまたはビューで特定の関数を直接呼び出すことはできません。

ただし、コントローラーでパラメーターを持たないパブリック メソッドは、次のように呼び出されます。

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の実装の最後に

于 2013-01-29T08:29:51.690 に答える
0

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/はじめに

お役に立てれば :)

于 2013-01-28T09:17:58.087 に答える