我的模块与重写的URL不加载布局

时间:2013-01-28 15:21:13

标签: magento

我已经创建了模块,并将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] =&gt; string(7) &quot;default&quot;
  [1] =&gt; string(13) &quot;STORE_default&quot;
  [2] =&gt; string(44) &quot;THEME_frontend_private_sales_theme_1_default&quot;
  [3] =&gt; string(17) &quot;signup_test2552_index&quot;
  [4] =&gt; string(19) &quot;customer_logged_out&quot;
  [5] =&gt; string(24) &quot;xxx_index_index&quot;
}

相同的结果 - 默认布局。

1 个答案:

答案 0 :(得分:0)

我对这些类型的重写不太熟悉,但似乎重写没有设置正确的布局句柄。 我会尝试使用:

添加句柄in your controller action
$this->getLayout()->getUpdate()->addHandle('xxx_index_index');