Обновление левого столбца для определенной категории / как установить идентификатор категории в файле макета - PullRequest
2 голосов
/ 04 февраля 2010

Я хотел бы блок, который показывает слайд-шоу на левой стороне для определенной категории. Однако я получил показ слайдов на всех страницах, сославшись на левый столбец в файле макета. Нам нужно, чтобы слайд-шоу появлялось только в определенной категории (id 225) с левой стороны.

Моя дорожная карта решения на данный момент:
1. переписать URL конкретной категории в мой настроенный модуль / контроллер / действие (тест / индекс / индекс)
2. В файле макета test / index / index test.xml я хотел бы переопределить дескриптор каталога catalog_category_default (я получил это с помощью Alan Storm Layout Views http://alanstorm.com/category/magento), который обновит левый столбец моим новым блоком слайд-шоу. Вот так выглядит мой файл test.xml

Это дает мне следующую ошибку: Фатальная ошибка: вызов функции-члена getMetaTitle () для необъекта в /app/code/local/Mage/Catalog/Block/Category/View.php в строке 43

Из ошибки я заключаю, что дескриптор переопределяется, однако отсутствует идентификатор категории, потому что строка 43:

if ($ title = $ this-> getCurrentCategory () -> getMetaTitle ()) {

Как видите, я попытался установить идентификатор категории в файле макета test.xml, но без особого успеха.

Как установить идентификатор категории в файле макета? Это выполнимое решение или правильный способ сделать? Я действительно перебираю ручку?

Спасибо Марготс

1 Ответ

3 голосов
/ 04 февраля 2010

В разделе администрирования есть поле при редактировании категории для применения обновлений макета, вы можете добавить туда свой блочный XML. Если вы хотите, чтобы это было в коде, то на страницах категорий добавляется «дескриптор», который включает их идентификатор, например «CATEGORY_123», и вы можете добавить свой блок, ссылаясь на следующее:

<CATEGORY_123>
  <reference name="left">
    <block type=""> (etc.)
  </reference>
</CATEGORY_123>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...