我在SocialEngine中创建了一个新的REST API模块,可以通过http://server_address/mymodule
或http://server_address/mymodule/index
进行浏览。我在Mymodule_IndexController
目录中有一个控制器类controllers
。它有一个方法indexAction
,其中我输出了一些JSON响应。有效。
问题是,我如何添加其他路线和相应的操作,例如food/browse
在此模块中。我已经在manifest.php
中添加了以下路由,但是当我浏览到http://server_address/mymodule/browse
时,该路由无法解析(找不到页面错误)。
'routes' => array(
'food_general' => array(
'route' => 'advancedrestapi/:controller/:action/*',
'defaults' => array(
'module' => 'advancedrestapi',
'controller' => 'index',
'action' => 'index',
),
'reqs' => array(
'controller' => '\D+',
'action' => '\D+',
),
),
如何向模块引入新的自定义路由和相应的PHP方法?
答案 0 :(得分:1)
要添加自定义路由,您需要添加一个与“操作”同名的文件,然后添加.tpl扩展名。因此,对于所讨论的路由('action'=>'browse'
),您需要将文件命名为application/modules/mymodule/views/scripts/index/browse.tpl
。该文件可以为空。
然后,您将需要向IndexController类browseAction
添加一个新方法(操作+ Action
)。在方法中编写逻辑,您将可以通过http://server_address/mymodule/index/browse
访问操作。