Silverstripe与混合移动应用程序

Silverstripe与混合移动应用程序,silverstripe,Silverstripe,基本上,我想做的是创建一个SilverStripe CMS,允许用户输入信息。我希望使用JSON将这些信息输出到混合移动应用程序,而不是像普通的那样在网页上显示这些信息。我知道我必须使用RESTful服务器API和dataobjects,但我有点不清楚它实际上是如何工作的 希望您能对此有所启发。将数据保存到数据库中非常简单,这甚至包含在5个基本教程之一中 如果您只需要基本功能,那么通过REST提供这些信息也不难。 SilverStripe已经提供了REST支持,但至少在2.4中,这种REST支持

基本上,我想做的是创建一个SilverStripe CMS,允许用户输入信息。我希望使用JSON将这些信息输出到混合移动应用程序,而不是像普通的那样在网页上显示这些信息。我知道我必须使用RESTful服务器API和dataobjects,但我有点不清楚它实际上是如何工作的


希望您能对此有所启发。

将数据保存到数据库中非常简单,这甚至包含在5个基本教程之一中

如果您只需要基本功能,那么通过REST提供这些信息也不难。 SilverStripe已经提供了REST支持,但至少在2.4中,这种REST支持相当有限,并且与数据库模型紧密相关。
据我所知,REST服务器已在SS3.0中删除

下面是SS 2.4中RestfulServer类上API文档的链接:

从这些文档中可以看出,允许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

如果这不能满足您的需求,我认为您可以选择两种方案:

  • 创建自己的控制器,输出所需的其他内容
  • 或者,如果您需要一个复杂的API,那么可以使用REST框架,如(但设置Rester在SilverStripe中工作可能会很麻烦,因为Restler和SS都有自己的URL魔术)

  • 或者,您实际上可以只吐出HTML片段。我已经在几个Phonegap应用程序中做到了这一点。样式、主javascript等明显嵌入到phonegap应用程序中。但是您可以创建只获取HTML片段的小窗口(几乎像和iframe)。您可以方便地使用模板更改HTML(非常方便进行更改)

    查看JQmobi框架和数据延迟特性


    您只需将数据的属性放在站点上的URL上,而该URL只是一个HTML片段。

    您必须缩小问题的范围,并且更加具体—您想确切知道什么?否则,请仔细阅读或的文档。另一个极好的答案。很高兴看到有经验的开发人员分享他们的知识+1.