0

基本的に私がやりたいのは、ユーザーが情報を入力できるようにするSilverStripeCMSを作成することです。この情報を通常のようにWebページに表示する代わりに、JSONを使用してハイブリッドモバイルアプリに出力したいと思います。RESTfulサーバーAPIとデータオブジェクトを使用する必要があることはわかっていますが、実際にどのように機能するかについては少しわかりません。

これについて少し啓蒙していただければ幸いです。

4

2 に答える 2

1

データベースへのデータの保存は非常に簡単です。これは、5 つの基本的なチュートリアルの 1 つでも説明されています。

基本的な機能だけが必要な場合は、REST を介してこの情報を提供することもそれほど難しくありません。SilverStripe にはすでに REST サポートが付属していますが、少なくとも 2.4 では、この REST サポートはかなり制限されており、データベース モデルと密接に結びついています。
私が知る限り、REST サーバーは SS 3.0 で削除されました。

SS 2.4 の RestfulServer クラスに関する API ドキュメントへのリンク: http://api.silverstripe.org/2.4/sapphire/api/RestfulServer.html#class_details

そのドキュメントから取得したように、オブジェクトへのAPIアクセスを許可するのはかなり簡単です:

class Article extends DataObject {
     static $db = array('Title'=>'Text','Published'=>'Boolean');
     static $api_access = array(
         'view' => array('Title'),
         'edit' => array('Title'),
     );
}

経由でアクセスするよりもhttp://mysite.com/api/v1/Article

これでニーズが満たされない場合は、次の 2 つの方法があります。

  1. 必要な残りのものを出力する独自のコントローラーを作成します
  2. または、複雑な API が必要な場合は、https://github.com/Luracast/Restlerなどの REST フレームワークを使用します(ただし、Restler と SS の両方が所有しているため、SilverStripe 内で動作するように Rester をセットアップするのは面倒な場合があります)。 URL マジック)
于 2012-08-20T20:12:03.437 に答える
1

または、実際に HTML のスニペットを吐き出すこともできます。私はいくつかの Phonegap アプリでこれを行いました。スタイル、メインの JavaScript などは明らかに phonegap アプリに埋め込まれています。ただし、HTML スニペットを取得するだけのミニ ウィンドウ (iframe とほぼ同じ) を作成できます。また、テンプレートを使用してその HTML を変更することもできます (変更には非常に便利です)。

JQmobi フレームワークと data-defer 機能を確認してください。

data-defer の属性をサイトの URL に配置するだけで、その URL は HTML スニペットにすぎません。

于 2013-02-27T00:29:17.403 に答える