1. Najlepiej nie odpinać modułów tylko je wyłączać i sprawdzać.
2. Nie wszystkie hooki to "fizyczne" miejsce na stronie sklepu, hook displayHeader to coś jakby <head> w html. Jeśli chodzi o podwójne wyświetlanie jednego modułu to jest to mozliwe np. gdy będzie w displayLeftColum i dispalyrightColumn jednocześnie.
3. To pytanie może mieć kilka odpowiedzi, ponieważ wszystko zależy od modułu, może się wyświetlać zarówno w dispalytop, jak i w footerze czy na środku strony będąc przypisanym do displayHeader.
co ma piernik do wiatrka? sam myslisz sie "w zeznaniach" i sam sobie przeczysz. jezeli w 2 pytaniu opisujesz, ze Header to <head> to znaczy, ze hookHeader to <head> i nie jest on jako tako wyswieltany, sluzy raczej konfiguracyjnie. zazwyczaj w tego hook trafiaja uzywane przez modul pliki .css i .js a nie ujete w glownym silniku i tyle. nic nie ma to do wyswietlenia w stopce czy gdziekolwiek. owszem, nieraz trafiaja sie skypty, ktore mogly by tutaj trafic i costam wyswietlajace. np. czestym jest boczny slider facebook, jednak porpawne umiejscowienie to hookFooter i raczej tutaj nalezalo by skryptu uzywac tutaj.
ale do sedna, skoryguje i rozbudije troche wypowiedz przedmowcy. mianowicie, skad modul wie gdzie ma sie znalesc... to sa wlasnie hooki. sa one rozsypane po calym silniku, templatce. jedne maja za zadanie costam wysweitlic (najczesciej techniczna nazwa zawiera 'display', ale to nie regula, czesto tez to jest pomijane. czesc (raczej wiekszosc) to hooki konfiguracyjne, zawieraja skierowane dane zmienne, przeliczniki itp. raczej sprawa skryptowa. za co odpowiada ktory raczej ot tak nie znajdziesz, to juz kwestia doswiadczenia i logicznego rozgryzania nazw danych hook. inaczej sie nie da. moze sa gdzies jakies opisy poszczegolnych, ale to szczatkowe informacje zawierajace mala czesc zawartych w silniku hookow.
po teorii do praktyki, skad modul wie... ma to zapisane w swoim kontlorerze (plik .php o takij samej nazwie jak katalog modulu - 99% modulow) i funkcja install() - tutaj zapisane sa hooki, do ktorych odgornie przypisywany i instalowany jest modul. dalej idac po tym samym pliku co ma modul wykonac w danym hook przypisane jest w poszczegolnych funcjach np. function hookHeader() {} ta odnosi sie scisle do hoohla headera, jak wspomnialem wczensije, uzywanego zazwyczaj do konfiguracji modulu i implementacji dodatkowych plikow w <head>, raczej nie powinien zawierac nic do wyswietlania.
chcac przeniesc modul w inne miejsce niz wpisane odgornie musisz:
1. w funkcji install() dodac dany hook (zarejestrowac go)
2. stworzyc osobna funkcje danego hook i przypisac mu wykonanie (lub pobranie wykonania z innego, juz przypisanego hook. najczesciej uzywane do wrzucania modulu naprzemiennie w lewa lub prawa kolumne np:
public function hookLeftColumn($params)
{
return $this->hookRightColumn($params);
}[code]
i z takiej przedniej teorii to w sumie tyle, reszta to juz praktyka i doswiadczenie. na "czuja" nei da sie tego wytlumaczyc mardziej prosto - prostacko ;/ ja nie potrafie.