我已经创建了模块,并将URL重写为:
<rewrite>
<xxx>
<from><![CDATA[#^/signup/(.*)#]]></from>
<to>/xxx/index/index/address/$1/</to>
</xxx>
</rewrite>
并描述了此操作的布局:
<?xml version="1.0" encoding="UTF-8"?>
<layout version="0.1.0">
<xxx_index_index translate="label">
<remove name="yyy" />
如果url是“/ xxx / index / index / address / yyy”,则一切正常。但如果url路径为“/ signup / yyy”,那么控制器将正常工作,但不会加载它的布局。
UPD :我在控制器中添加了句柄(感谢@mpaepper)“xxx_index_index”,然后使用:Zend_Debug::dump($this->getLayout()->getUpdate()->getHandles());
array(6) {
[0] => string(7) "default"
[1] => string(13) "STORE_default"
[2] => string(44) "THEME_frontend_private_sales_theme_1_default"
[3] => string(17) "signup_test2552_index"
[4] => string(19) "customer_logged_out"
[5] => string(24) "xxx_index_index"
}
相同的结果 - 默认布局。
答案 0 :(得分:0)
我对这些类型的重写不太熟悉,但似乎重写没有设置正确的布局句柄。 我会尝试使用:
添加句柄in your controller action
$this->getLayout()->getUpdate()->addHandle('xxx_index_index');