Zmiana typu bloku oznacza zmianę klasy bloku, więc nie, ale ...
... możesz po prostu zastąpić blok:
Znajdź uchwyt układu, który jest wywoływany później LUB upewnij się, że twój layout.xmljest przetwarzany po utworzeniu bloku, np. Z <depends>inCompany_Module.xml
Po prostu utwórz nowy blok innego typu o tej samej nazwie
Problem polega na tym, że to zastępuje blok i nie zmienia typu. Oznacza to, że wszystko, co zostało zrobione w tym bloku między stworzeniem a twoją zmianą, zostało utracone.
Możesz także utworzyć nową klasę bloków, która „odziedziczy” klasę bloków, którą chcesz zastąpić. Musisz dodać wpis w pliku config.xml niestandardowego rozszerzenia, aby zamienić klasę bloku na własną. Ma to sens, jeśli planujesz rozszerzyć lub zmodyfikować funkcjonalność bloku.
Biagio Arobba
3
Nie można tego zmienić w plikach układu afaik. Możesz je jednak rozszerzyć i zastąpić w plikach konfiguracyjnych.
Odpowiedzi:
Zmiana typu bloku oznacza zmianę klasy bloku, więc nie, ale ...
... możesz po prostu zastąpić blok:
layout.xml
jest przetwarzany po utworzeniu bloku, np. Z<depends>
inCompany_Module.xml
Problem polega na tym, że to zastępuje blok i nie zmienia typu. Oznacza to, że wszystko, co zostało zrobione w tym bloku między stworzeniem a twoją zmianą, zostało utracone.
Na przykład do zmiany
catalog.navigation
:źródło
Nie można tego zmienić w plikach układu afaik. Możesz je jednak rozszerzyć i zastąpić w plikach konfiguracyjnych.
Przykład:
Pamiętaj, aby przedłużyć oryginalny blok.
źródło
Miałem podobny problem, że muszę zaktualizować konkretny blok dla określonego układu.
Skończyło się to i wydaje się, że działa (w pliku układu)
Mam nadzieję że to pomoże.
źródło