我在Joomla和Jomsocial创建了网站。
我正在Joomla中创建Web服务/ API,以便我的移动应用访问。
移动应用程序几乎具有与网站相同的功能。
我可以访问我的Web服务/ API中controller/model externally
内定义的函数(任务)吗?怎么样?
注意:我正在使用phonegap开发移动应用
答案 0 :(得分:3)
您无法直接调用模型或视图中的特定函数。
但是使用
调用控制器中没有参数的任何公共方法yoursite/index.php?option=com_yourcomponent&task=yourpublicmethod.
这将触发指定的方法并在Joomla模板中使用所有相关模块等进行渲染。
如果您只想要主要组件输出,请添加到呼叫
&tmpl=component
通过模板的component.php而不是index.php呈现,通常前者仅加载外部资源(css和js)和主要组件输出。
否则,如果函数返回代码(html xml或json),您可能希望使用
调用它&format=raw
只返回yourpublicmethod的裸输出。这也可以通过指令
在组件级别实现exit;
在你的公共方法实施结束时
答案 1 :(得分:0)
Joomla CMS实现了MVC Patter(module-view-controlle),视图的差别很小。它实现了视图模型视图。
在Joomla中,一切都是一个组成部分。每个组件都可以有其模型,视图,控制器,数据库表等。
简单示例如何工作是你创建一个组件让我们说“helloworld”组件,这个组件驻留在JROOT / administrator / components / com_helloworld中,用于组件的管理面板部分,JROOT / components / com_helloworld用于前端
在这些目录中,您有一个名为com_helloworld.php的文件,它会触发此请求的整个MVC。
虽然Joomla实现了Front控制器模式,但您可以构建最适合您的组件(使用或不使用前端控制器)。
当您请求http://domainname.com/index.php?option=com_helloworld时,我提到的文件com_helloworld被调用,内部的所有内容都会执行。
有关更多信息,请参阅这篇关于开发Joomla CMS 2.5组件的非常有用的文章:
http://docs.joomla.org/Developing_a_Model-View-Controller_Component/2.5/Introduction
希望这有帮助:)