2012-08-02 83 views
0

基本上我想要做的是创建一个允许用户输入信息的SilverStripe CMS。我不想在正常的网页上显示这些信息,而是想用JSON将其输出到混合移动应用程序。我知道我必须使用RESTful服务器API和数据对象,但是我对于它的实际工作方式还不太清楚。银条纹与混合移动应用程序

希望对此有点启发。

+1

你必须缩小你的问题范围,更具体一点 - 你想知道什么?否则,请阅读[SS 2.4](http://api.silverstripe.org/2.4/sapphire/api/RestfulServer.html)或[SS 3.0](https://github.com/silverstripe/silverstripe- restfulserver)。 – 2012-08-02 17:52:14

回答

1

将数据保存到数据库中非常简单,甚至可以在5个基本教程中的其中一个中进行介绍。

通过REST提供这些信息并不困难,如果你只是需要基本的功能。 SilverStripe已经提供了REST支持,但至少在2.4版本中,这种REST支持相当有限且与数据库模型非常紧密地联系在一起。
据我所知道的,REST服务器已经在SS 3.0

在这里,在SS 2.4的链接,API文档的RestfulServer类中删除: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框架(但它可能是一个痛苦的成立RESTER范围内开展工作SilverStripe因为都是,Restler和SS都有自己的URL魔法)
+0

另一个优秀的答案。很高兴看到有经验的开发者分享他们的知+1 – MillyMonster 2012-08-21 10:51:09

1

另外,你实际上可以只是吐出HTML片段。我在几个Phonegap应用程序中完成了这项工作。风格,主要的JavaScript等被明确地嵌入在phonegap应用程序中。但是你可以创建迷你窗口(几乎和iframe一样),只需获取HTML代码片段即可。通俗地说,你可以用你的模板来改变HTML(非常方便修改)。

查看JQmobi框架和data-defer功能。

您只需将data-defer的属性添加到您网站上的URL,并且该URL仅为HTML片段。

相关问题