Silverstripe与混合移动应用程序

时间:2012-08-02 12:09:54

标签: silverstripe

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

对此表示赞赏。

2 个答案:

答案 0 :(得分:1)

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

如果您只需要基本功能,那么通过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

访问它

如果这不能满足您的需求,我会看到您可以采取的两种选择:

  1. 创建您自己的控制器,输出您需要的其他东西
  2. 或者,如果您需要复杂的API,那么使用像https://github.com/Luracast/Restler这样的REST框架(但是设置Rester以在SilverStripe中工作可能会很痛苦,因为两者,Restler和SS都有自己的URL魔法)

答案 1 :(得分:1)

或者,您实际上只能吐出HTML的片段。我在几个Phonegap应用程序中完成了这个。样式,主要的javascript等被明确地嵌入到phonegap应用程序中。但是你可以创建只获取HTML片段的迷你窗口(几乎和iframe)。并且方便地,您可以使用模板更改HTML(非常方便更改)。

查看JQmobi框架和数据延迟功能。

您只需将data-defer的属性放入您网站上的网址,该网址只是一个HTML代码段。