我需要使用SE模型公开的一些功能作为AJAX调用的一部分。如下所示:
<?php
header("Content-Type: application/json");
require_once("application/modules/Advancedarticles/Model/Artarticle.php");
$id = $_GET['id'] or die("Malformed instruction");
$article = new AdvancedArticle($id);
$shares = array(
'twitter'=>$article->twitterShareCount,
'facebook'=>$article->facebookShareCount,
);
echo json_encode($shares);
?>不需要路由或任何其他的东西。
以这种方式引导SE所需的最低要求是多少?
发布于 2015-09-30 05:32:15
在为SocialEngine或任何其他平台进行开发时,最好遵循该平台的标准结构。在SocialEngine中,首先从SocialEngine提供的developer SDK创建一个模块。您可以从SocialEngine的包管理器访问SDK。
安装新模块后,您需要创建一个控制器。该控制器将从模型中获取数据并将其输出为JSON。
我猜Advancedarticles是一个来自SEAO的插件,所以应该有一个advancedarticles_article模型项或类似的东西已经在Advancedarticles插件的清单中定义过了。您可以在以下位置检查项目名称:
application/modules/Advancedarticles/settings/manifest.php假设您新创建的模块名称为Myapi,并且您的控制器位于:
application/modules/Myapi/controllers/ArticleController.php控制器代码:
<?php
class Myapi_ArticleController extends Core_Controller_Action_Standard
{
public function sharesAction()
{
$id = $this->_getParam('id');
$article = Engine_Api::_()->getItem('advancedarticles_article', $id);
$shares = array(
'twitter'=>$article->twitterShareCount,
'facebook'=>$article->facebookShareCount,
);
$this->_helper->json($shares);
}
}然后使用以下命令调用它:
http://localhost/myapi/article/shares/?id=XXXhttps://stackoverflow.com/questions/32822217
复制相似问题