我目前正在参与学习和开发magento,并且我得到了为前端工作的东西,但是现在我正在尝试让后端工作的东西和我面临挑战.根据文档和谷歌,它应该很简单,但我仍然得到404s.
我创建了一个标准的文件结构,如下所示:
app
code
local
Mediafunction
Csvengine
Block
controllers
Adminhtml
IndexController.php
etc
config.xml
Helper
Data.php
Model
sql
Run Code Online (Sandbox Code Playgroud)
我在config.xml中添加了一些东西,得到一个链接到菜单,它的实际工作所展示的模块,但是当IM点击喜欢的链接(其解析为/管理/ csvengine /索引/键/ foobar的,应),我刚刚得到一个404.
我尝试了各种各样的东西,但我一直回到:
<admin>
<routers>
<adminhtml>
<args>
<modules>
<Mediafunction_Csvengine before="Mage_Adminhtml">Mediafunction_Csvengine_Adminhtml</Mediafunction_Csvengine>
</modules>
</args>
</adminhtml>
</routers>
</admin>
Run Code Online (Sandbox Code Playgroud)
目前不起作用(404).我的IndexController.php非常简单,它的唯一内容是:
<?php
class Mediafunction_Csvengine_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action
{
public function indexAction()
{
$this->loadLayout();
$this->renderLayout();
}
}
Run Code Online (Sandbox Code Playgroud)
更改类的名称也没有任何效果,我真的对我做错了什么一无所知.我怎样才能使这个工作?
你有两个简单的问题要解决:-)
第一:资本化.每个模块文件和目录(除了controllers
,etc/*
,data/*
,和sql/*
必须是大写的大小写的文件系统.这样做的原因是直接实施,在该方式的组合Varien_Autoload
发现基于类名类定义(前者适用于行动虽然控制器类.这只是意味着你的模块应该是Csvengine而不是csvengine,你必须在文件名和模块声明节点中实现它modules/Mediafunction_Csvengine
.
第二:你的adminhtml控制器方法几乎是正确的.根据您的类名,您需要在controllers
named 下有一个文件夹Adminhtml
.您还需要更新的价值admin/routers/adminhtml/args/modules/Mediafunction_csvengine
要Mediafunction_Csvengine
,因为这将被用来随着模块的codepool找到你的动作控制器目录.请参阅Mage_Core_Controller_Varien_Router_Standard::collectRoutes()
config-to-directory逻辑.
编辑:
我忽略了你的路线(admin/csvengine/index)和控制器文件名的问题.在标准的路由到控制器映射中,Magento URL有五个方面:
http://site.com/thisisparttwo/thisispartthree/thisispartfour/foo/1/bar/2/
Base URL |front name |controller path|method | params...
Run Code Online (Sandbox Code Playgroud)
您的控制器路径指向管理员前缀下的CsvengineController类.你已经配置了一个控制器目录(我的更改)Mediafunction/Csvengine/controllers/Adminhtml/
,所以你需要一个CsvengineController.php,它包含一个名为的类Mediafunction_Csvengine_Adminhtml_CsvengineController
另外一个注意事项:Magento的管理ACL通过该Mage_Adminhtml_Controller_Action::_isallowed()
方法工作 - 无需在控制器中重新实现,所有管理员用户的访问权限都不受限制.
归档时间: |
|
查看次数: |
2743 次 |
最近记录: |