Php Magento:Adminhtml控制器在前端?

Php Magento:Adminhtml控制器在前端?,php,magento,automation,Php,Magento,Automation,我正在尝试编写一个模块,允许用户在我们的系统中创建自己的商店(多商店功能) 我想知道,是否可以在Magento前端执行adminhtml控制器的函数 此时,我刚刚创建了文件夹,并在Magento后端单击save website时编辑index.php、.htaccess。我需要更多,请帮忙 任何帮助都将不胜感激。谢谢 我认为这不是一个好主意-允许创建自己商店的人应该获得一个管理员帐户(你知道你可以定义具有受限权限的角色吗?) 但要回答这个问题:这是可能的。您必须创建自己的前端控制器,模拟登录的管

我正在尝试编写一个模块,允许用户在我们的系统中创建自己的商店(多商店功能)

我想知道,是否可以在Magento前端执行adminhtml控制器的函数

此时,我刚刚创建了文件夹,并在Magento后端单击save website时编辑
index.php、.htaccess
。我需要更多,请帮忙


任何帮助都将不胜感激。谢谢

我认为这不是一个好主意-允许创建自己商店的人应该获得一个管理员帐户(你知道你可以定义具有受限权限的角色吗?)

但要回答这个问题:这是可能的。您必须创建自己的前端控制器,模拟登录的管理员用户,然后转发到adminhtml控制器操作

示例(未测试):
ADMIN\u USER\u ID
是要在其下执行操作的后端用户的ID。这不应该是您自己的具有完全权限的管理员帐户,而应该是一个只有必要权限的虚拟帐户,或者是一个真正的帐户,每个用户都有不同的权限

关于_forward(): 该方法在
Mage\u Core\u Controller\u Varien\u Action
中定义,并记录如下:

/**
 * Throw control to different action (control and module if was specified).
 *
 * @param string $action
 * @param string|null $controller
 * @param string|null $module
 * @param array|null $params
 */
它操纵当前请求对象并将其设置为“not dispatched”,以便前端控制器将再次尝试找到合适的动作控制器将其分派到,这一次是根据新参数


实际上,我的第一个版本有一个bug,\u forward并没有采用像
'adminhtml/store/save'
这样的路径作为参数,而是以相反的顺序使用单独的部分,
'save','store','adminhtml'

谢谢你的帮助fschmengler,你能描述一下
\u forward()
是如何工作的吗?我的工作流程如下:
user register@frontend>create role>create user>assign to role>create website,group,store>success
/**
 * Throw control to different action (control and module if was specified).
 *
 * @param string $action
 * @param string|null $controller
 * @param string|null $module
 * @param array|null $params
 */