Изменение дизайна для всех страниц модуля в Magento - PullRequest
1 голос
/ 15 сентября 2010

Я делаю пользовательский модуль в Magento, и все идет гладко ... за исключением того, что я хочу изменить базовый шаблон макета, который используют все страницы модуля. Я немного погуглил с небольшим успехом. У кого-нибудь есть ответы? Я хочу сделать что-то вроде:

...
<optionbox>
  <reference name="root">
    <action method="setTemplate"><template>page/empty.phtml</template></action>
  </reference>
</optionbox>

Как вы можете догадаться, это лайтбокс ... Я жажду наказания, я думаю:)

Ответы [ 3 ]

2 голосов
/ 16 сентября 2010

Я заметил, что у вас есть корень обновления макета как <optionbox>, который теоретически должен охватывать все контроллеры и действия в этом модуле. Тем не менее, я когда-либо видел, чтобы это было сделано с <optionbox_index>, где index от IndexController в вашем модуле. Так что, возможно, попробуйте это заменить на имя вашего контроллера:

<layout>
 ...
 <optionbox_index>
   <reference name="root">
     <action method="setTemplate"><template>page/empty.phtml</template></action>
   </reference>
 </optionbox_index>

Кроме того, вы должны попробовать модуль Alan Storm *1008* LayoutViewer *, инструкции по его использованию здесь . Это может помочь вам отладить его.

Cheers, JD

1 голос
/ 15 сентября 2010

В моих модулях я делаю это в действии контроллера следующим образом:

public function listAction() {
  $this->loadLayout();
  $this->getLayout()->getBlock('root')->setTemplate('page/2columns-right.phtml');
  $this->renderLayout();
}
0 голосов
/ 15 сентября 2010

вы пытались вставить этот фрагмент в файл макета optionbox.xml?Похоже, это должно работать, как у вас есть?

...