基本上我想做的是创建一个允许用户输入信息的 SilverStripe CMS。我不想像往常一样在网页上显示此信息,而是想使用 JSON 将其输出到混合移动应用程序。我知道我必须使用 RESTful 服务器 API 和数据对象,但我有点不清楚它实际上是如何工作的。
希望能对此有所启发。
基本上我想做的是创建一个允许用户输入信息的 SilverStripe CMS。我不想像往常一样在网页上显示此信息,而是想使用 JSON 将其输出到混合移动应用程序。我知道我必须使用 RESTful 服务器 API 和数据对象,但我有点不清楚它实际上是如何工作的。
希望能对此有所启发。
将数据保存到数据库中非常容易,这甚至包含在 5 个基本教程之一中。
如果您只需要基本功能,通过 REST 提供此信息也不是那么难。SilverStripe 已经带有 REST 支持,但至少在 2.4 中,这种 REST 支持相当有限,并且与数据库模型密切相关。
据我所知,SS 3.0 中已删除 REST 服务器
这里是 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 种替代方案:
或者,您实际上可以只吐出 HTML 片段。我已经在几个 Phonegap 应用程序中做到了这一点。样式、主要 javascript 等明显嵌入在 phonegap 应用程序中。但是您可以创建只获取 HTML 片段的迷你窗口(几乎像和 iframe)。而且您可以方便地使用您的模板更改该 HTML(更改非常方便)。
查看 JQmobi 框架和数据延迟功能。
您只需将 data-defer 的属性放到您网站上的 URL 中,而该 URL 只是一个 HTML 片段。