пожалуйста, объясните подробно, что вы должны изменить
Кейул Шах
Ответы:
7
Изменение типа блока означает изменение класса блока, поэтому нет, но ...
... вы можете просто перезаписать блок:
Найдите дескриптор макета, который вызывается позже ИЛИ убедитесь, что ваш layout.xmlобработан после создания блока, например, с помощью <depends>inCompany_Module.xml
Просто создайте новый блок другого типа с тем же именем
Проблема в том, что это перезаписывает блок и не меняет тип. Это означает, что все, что сделано в этом блоке между созданием и вашим изменением, потеряно.
Вы также можете создать новый класс блоков, который «наследует» класс блоков, который вы хотите заменить. Вам нужно будет добавить запись в config.xml вашего пользовательского расширения, чтобы поменять класс блоков с вашим. Это имело бы смысл, если вы планируете расширить или изменить функциональность блока.
Бьяджо Аробба
3
Вы не можете изменить это в файлах макета afaik. Однако вы можете расширить и переопределить их в ваших конфигурационных файлах.
Ответы:
Изменение типа блока означает изменение класса блока, поэтому нет, но ...
... вы можете просто перезаписать блок:
layout.xml
обработан после создания блока, например, с помощью<depends>
inCompany_Module.xml
Проблема в том, что это перезаписывает блок и не меняет тип. Это означает, что все, что сделано в этом блоке между созданием и вашим изменением, потеряно.
Например, для изменения
catalog.navigation
:источник
Вы не можете изменить это в файлах макета afaik. Однако вы можете расширить и переопределить их в ваших конфигурационных файлах.
Пример:
Не забудьте расширить оригинальный блок.
источник
Я столкнулся с похожей проблемой, что мне нужно обновить конкретный блок для конкретной компоновки.
То, что я в итоге делаю, и, кажется, работает (в файле макета)
Надеюсь это поможет.
источник