4

如何使用创建的控制器

/administrator/components/com_mycom/controllers/*

/components/com_mycom/mycom.php

详细地:

我有一个带有 »add« 方法的 »log« 控制器,我想从前端使用它。我没有在后端登录,任务没有执行,出现 500 错误。所以只想在前端包含后端控制器路径,这样JController::getInstance( 'Mycom' )仍然有效。

问候……</p>

编辑:

经过长时间的搜索,我可以找到一个或多或少未记录的参数: JController::getInstance()方法,即第二个:$config = array()。通过查看源代码,我发现 »config-array« 有一个有趣的键,即:»base_path«。

的呼唤:

JController:getInstance( 'Mycom, array('base_path' =>JPATH_ADMINISTRATOR.DS.'components'.DS.'com_mycom')' );

始终提供后端控制器,并且可以在前端安全地使用它们,但是必须注意视图也是从组件的后端获取的。就我而言,我只是用它来进行 ajax 调用,所以没关系,但是在计划使用“后端控制器”创建“前端视图”时需要小心使用这种方法。

问候……</p>

4

1 回答 1

1

我最近遇到了一个类似的问题,我想在前端也使用整个 CRUD 系统形式的后端。

这是对我有用的方法(我并不是说这是推荐或最佳实践):

我刚刚从后端对文件夹/文件结构进行了建模。PHP 文件包含以下内容:

require_once JPATH_ADMINISTRATOR . '/components/com_mycom/controllers/log.php';

于 2012-11-19T08:34:42.917 回答