我想覆盖AW Blog BlogController从社区到我的local_MyCompany文件夹以修改saveAction方法。有人可以帮我吗?
以下是社区控制器类的路径:
app'code'community'AW'Blog'controllers'Manage'BlogController.php
这是我local_Business路径:
require_once 'AW/Blog/controllers/Manage/BlogController.php';
class MyCompany_MyAwBlog_Manage_BlogController extends AW_Blog_Manage_BlogController
{
public function editAction()
{
echo 'hello'; die();
}
}
这是我的配置.xml文件内容:
<config>
<modules>
<MyCompany_MyAwBlog>
<version>0.1.0</version>
</MyCompany_MyAwBlog>
</modules>
<frontend>
<routers>
<myawblog>
<use>standard</use>
<args>
<module>MyCompany_MyAwBlog</module>
<frontName>myawblog</frontName>
</args>
</myawblog>
</routers>
</frontend>
<global>
<rewrite>
<mycompany_myawblog_blog_manage_blogcontroller>
<from><![CDATA[#^/blog/manage_blog/#]]></from>
<to>/myawblog/blog_manage_blog/</to>
</mycompany_myawblog_blog_manage_blogcontroller>
</rewrite>
</global>
<admin>
<routers>
<myawblog>
<use>admin</use>
<args>
<module>MyCompany_MyAwBlog</module>
<frontName>admin_myawblog</frontName>
</args>
</myawblog>
</routers>
</admin>
试试这个
1) 控制器文件
require_once 'AW/Blog/controllers/Manage/BlogController.php';
class MyCompany_MyAwBlog_Manage_BlogController extends AW_Blog_Manage_BlogController
{
public function editAction()
{
echo 'hello'; die();
}
}
2) 配置.xml
<frontend>
<routers>
<myawblog>
<use>standard</use>
<args>
<modules>
<MyCompany_MyAwBlog before="AW_Blog">MyCompany_MyAwBlog</MyCompany_MyAwBlog>
</modules>
</args>
</myawblog>
</routers>
</frontend>
管理控制器的更新:
尝试以下 -
1) 控制器文件
<?php
require_once 'AW/Blog/controllers/Manage/BlogController.php';
class MyCompany_MyAwBlog_Manage_BlogController extends AW_Blog_Manage_BlogController
{
public function editAction()
{
echo 'Hi';
die();
}
}
2)配置.xml
<admin>
<routers>
<adminhtml>
<args>
<modules>
<myawblog before="AW_Blog">MyCompany_MyAwBlog_Adminhtml</myawblog>
</modules>
</args>
</adminhtml>
</routers>
</admin>
注意:
1) require_once 'AW/Blog/controllers/Manage/BlogController.php';
上面提到的控制器路径应该是正确的管理控制器路径。扩展关键字后路径的第二个点相同。
2) class MyCompany_MyAwBlog_Manage_BlogController extends AW_Blog_Manage_BlogController
参考网址 SUPEE-6788 技术细节
Muk 提供的初始答案对我不起作用(前端控制器覆盖)。
但是在从 到 之后替换节点,它可以工作。
因为是重写的路线。但这里的目标是赶上基本路线,意味着.
所以对我有用的最终配置.xml anwser 是:
<frontend>
<routers>
<awblog>
<use>standard</use>
<args>
<modules>
<MyCompany_MyAwBlog before="AW_Blog">MyCompany_MyAwBlog</MyCompany_MyAwBlog>
</modules>
</args>
</awblog>
</routers>