我配置了一个路由器,如下所示:
<rewrite>
<My_Module>
<from><![CDATA[#^/computer/configuration/#]]></from>
<to>/config/configuration/</to>
<complete>1</complete>
</My_Module>
</rewrite>
这样,每当我访问一个类似于 / computer / configuration / 的URL时,它都会路由到 / config / configuration / 。我想要的是在代码中改变这种行为。所以,在我的代码中,我是这样得到的:
$from = (string) Mage::getConfig()->getNode('global/rewrite/My_Module/from');
这是有效的,我得到的是#^ / computer / configuration /#。现在我尝试更改from:
$from = '#^/somethingelse/configuration/#';
Mage::getConfig()->setNode('global/rewrite/My_Module/from', $from);
Mage::getConfig()->saveConfig();
// This returns me the new value (#^/somethingelse/configuration/#)
$from = (string) Mage::getConfig()->getNode('global/rewrite/My_Module/from');
但是路由不起作用,它给了我404未找到的页面。看来,我设定的价值并没有真正得到保存。我忘记了代码中的某些内容吗?
感谢您的帮助! :)
答案 0 :(得分:0)
我相信配置需要在保存后重新初始化。试试这个:
Mage::app()->getConfig()->reinit();
......你可能还需要这个:
Mage::app()->reinitStores();