Een manier voor extensies om de controle over te nemen van delen van de TYPO3 CMS core, of andere extensies, is het gebruik van hooks.
Tijdens deze presentatie zal ingegaan worden op de reeds in overvloed aanwezige hooks van de TYPO3 CMS core met voorbeelden van toepassingen. Eveneens zal uitgelegd worden hoe je zelf hooks kunt inzetten in je eigen extensies. Middels best practice zal getoond worden hoe in het algemeen een hook gebruikt kan worden.
Patrick Broens
Patrick Broens (1970) is als TYPO3 Core Developer en zelfstandig ondernemer sterk betrokken bij de TYPO3 community en de ontwikkeling van TYPO3 sinds 2001. In de dagelijkse praktijk adviseert hij organisaties en bedrijven over de implementatie van TYPO3 producten en biedt hij een ondersteunende rol op het gebied van TypoScript en extensies voor TYPO3 CMS. Als voorvechter van toegankelijke websites heeft hij recentelijk grote wijzigingen aangebracht in de TYPO3 CMS core, om de frontend output te laten voldoen aan onder andere WCAG 2.0 en WAI-ARIA. Een adviesrapport voor een toegankelijk TYPO3 Neos is op het moment van schrijven in de maak.
1. Contact me
Email: patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66 80
Tuesday, December 11, 12
2. CONNECT
EVERYTHING
Uitbreiden of wijzigen functionaliteit
van TYPO3 CMS core en extensies
Contact me
Email: patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66 80
Tuesday, December 11, 12
3. Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
4. PATRICK
BROENS
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
5. PATRICK
BROENS
๏ Zelfstandig
ondernemer
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
6. PATRICK
BROENS
๏ Zelfstandig
ondernemer
๏ 42 jaar
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
7. PATRICK
BROENS
๏ Zelfstandig
ondernemer
๏ 42 jaar
๏ Tilburg
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
8. PATRICK
BROENS
๏ Zelfstandig
ondernemer
๏ 42 jaar
๏ Tilburg
๏ Advies en
ondersteuning
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
9. PATRICK
BROENS
๏ Zelfstandig ๏ TYPO3 Versie 4.x Core
ondernemer Team Member sinds
๏ 42 jaar 2006
๏ Tilburg
๏ Advies en
ondersteuning
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
10. PATRICK
BROENS
๏ Zelfstandig ๏ TYPO3 Versie 4.x Core
ondernemer Team Member sinds
๏ 42 jaar 2006
๏ TYPO3 Content
๏ Tilburg
Rendering Group
๏ Advies en
ondersteuning
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
11. PATRICK
BROENS
๏ Zelfstandig ๏ TYPO3 Versie 4.x Core
ondernemer Team Member sinds
๏ 42 jaar 2006
๏ TYPO3 Content
๏ Tilburg
Rendering Group
๏ Advies en
๏ Accessibility
ondersteuning
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
12. PATRICK
BROENS
๏ Zelfstandig ๏ TYPO3 Versie 4.x Core
ondernemer Team Member sinds
๏ 42 jaar 2006
๏ TYPO3 Content
๏ Tilburg
Rendering Group
๏ Advies en
๏ Accessibility
ondersteuning
๏ Usability
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
13. Contact me
Email: patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66 80
Tuesday, December 11, 12
14. EEN
INTRODUCTIE
Het hoe en waarom
van deze presentatie
Contact me
Email: patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66 80
Tuesday, December 11, 12
15. Contact me
Email: patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66 80
Tuesday, December 11, 12
16. DIVERSE
METHODES
TYPO3 zou TYPO3 niet zijn
als er niet meerdere opties waren
Contact me
Email: patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66 80
Tuesday, December 11, 12
17. Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
18. OVERSCHRIJVEN
Rechtstreeks aanpassen van functionaliteit in
originele code
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
19. OVERSCHRIJVEN
Rechtstreeks aanpassen van functionaliteit in
originele code
๏ Zeer gevaarlijk
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
20. OVERSCHRIJVEN
Rechtstreeks aanpassen van functionaliteit in
originele code
๏ Zeer gevaarlijk
๏ Verdwenen na update
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
21. OVERSCHRIJVEN
Rechtstreeks aanpassen van functionaliteit in
originele code
๏ Zeer gevaarlijk
๏ Verdwenen na update
๏ Zeer moeilijk te onderhouden
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
22. OVERSCHRIJVEN
Rechtstreeks aanpassen van functionaliteit in
originele code
๏ Zeer gevaarlijk
๏ Verdwenen na update
๏ Zeer moeilijk te onderhouden
๏ Security issues
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
23. OVERSCHRIJVEN
Rechtstreeks aanpassen van functionaliteit in
originele code
๏ Zeer gevaarlijk
๏ Verdwenen na update
๏ Zeer moeilijk te onderhouden
๏ Security issues
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
24. Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
25. XCLASS
Uitvoeren van alternatieve functies in plaats van
origineel
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
26. XCLASS
Uitvoeren van alternatieve functies in plaats van
origineel
๏ Redelijk gevaarlijk
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
27. XCLASS
Uitvoeren van alternatieve functies in plaats van
origineel
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
28. XCLASS
Uitvoeren van alternatieve functies in plaats van
origineel
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
๏ Maar 1 keer te gebruiken
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
29. XCLASS
Uitvoeren van alternatieve functies in plaats van
origineel
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
๏ Maar 1 keer te gebruiken
๏ Moeilijk te onderhouden
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
30. XCLASS
Uitvoeren van alternatieve functies in plaats van
origineel
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
๏ Maar 1 keer te gebruiken
๏ Moeilijk te onderhouden
๏ Security issues
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
31. XCLASS
Uitvoeren van alternatieve functies in plaats van
origineel
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
๏ Maar 1 keer te gebruiken
๏ Moeilijk te onderhouden
๏ Security issues
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
32. Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
33. TS userFunc
Gebruik van eigen functies in TypoScript
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
34. TS userFunc
Gebruik van eigen functies in TypoScript
๏ Alleen via TypoScript
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
35. TS userFunc
Gebruik van eigen functies in TypoScript
๏ Alleen via TypoScript
๏ In vele smaken verkrijgbaar (pre-, post-, etc)
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
36. TS userFunc
Gebruik van eigen functies in TypoScript
๏ Alleen via TypoScript
๏ In vele smaken verkrijgbaar (pre-, post-, etc)
๏ Niet overal toepasbaar
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
37. TS userFunc
Gebruik van eigen functies in TypoScript
๏ Alleen via TypoScript
๏ In vele smaken verkrijgbaar (pre-, post-, etc)
๏ Niet overal toepasbaar
๏ Goede TS kennis nodig
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
38. TS userFunc
Gebruik van eigen functies in TypoScript
๏ Alleen via TypoScript
๏ In vele smaken verkrijgbaar (pre-, post-, etc)
๏ Niet overal toepasbaar
๏ Goede TS kennis nodig
๏ Veilig
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
39. TS userFunc
Gebruik van eigen functies in TypoScript
๏ Alleen via TypoScript
๏ In vele smaken verkrijgbaar (pre-, post-, etc)
๏ Niet overal toepasbaar
๏ Goede TS kennis nodig
๏ Veilig
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
40. Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
41. HOOKS
Subroutines onderscheppen, bewerken en
terugsturen data
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
42. HOOKS
Subroutines onderscheppen, bewerken en
terugsturen data
๏ Veilig om te gebruiken
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
43. HOOKS
Subroutines onderscheppen, bewerken en
terugsturen data
๏ Veilig om te gebruiken
๏ Na update werking gegarandeerd (mits ...)
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
44. HOOKS
Subroutines onderscheppen, bewerken en
terugsturen data
๏ Veilig om te gebruiken
๏ Na update werking gegarandeerd (mits ...)
๏ Afhankelijk van core en extensies
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
45. HOOKS
Subroutines onderscheppen, bewerken en
terugsturen data
๏ Veilig om te gebruiken
๏ Na update werking gegarandeerd (mits ...)
๏ Afhankelijk van core en extensies
๏ Meerdere malen toepasbaar
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
46. HOOKS
Subroutines onderscheppen, bewerken en
terugsturen data
๏ Veilig om te gebruiken
๏ Na update werking gegarandeerd (mits ...)
๏ Afhankelijk van core en extensies
๏ Meerdere malen toepasbaar
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
47. Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
50. DEPENDENCY
INJECTION
Classes ‘losjes’ koppelen
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
51. DEPENDENCY
INJECTION
Classes ‘losjes’ koppelen
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
๏ Maar 1 keer te gebruiken
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
52. DEPENDENCY
INJECTION
Classes ‘losjes’ koppelen
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
๏ Maar 1 keer te gebruiken
๏ Moeilijk te onderhouden
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
53. DEPENDENCY
INJECTION
Classes ‘losjes’ koppelen
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
๏ Maar 1 keer te gebruiken
๏ Moeilijk te onderhouden
๏ Security issues
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
54. DEPENDENCY
INJECTION
Classes ‘losjes’ koppelen
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
๏ Maar 1 keer te gebruiken
๏ Moeilijk te onderhouden
๏ Security issues
๏ Alleen voor Extbase extensies
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
55. DEPENDENCY
INJECTION
Classes ‘losjes’ koppelen
๏ Redelijk gevaarlijk
๏ Hoeft niet meer te werken na update
๏ Maar 1 keer te gebruiken
๏ Moeilijk te onderhouden
๏ Security issues
๏ Alleen voor Extbase extensies
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
56. Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
57. WE WANT
MORE
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
58. WE WANT
MORE
๏ typo3.org/documentation/document-library/
core-documentation/doc_core_api/current/view/
3/4/
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
59. WE WANT
MORE
๏ typo3.org/documentation/document-library/
core-documentation/doc_core_api/current/view/
3/4/
๏ wiki.typo3.org/Hook_programming
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
60. WE WANT
MORE
๏ typo3.org/documentation/document-library/
core-documentation/doc_core_api/current/view/
3/4/
๏ wiki.typo3.org/Hook_programming
๏ typo3.org/extensions/repository/view/
dmc_hooklist
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12
61. WE WANT
MORE
๏ typo3.org/documentation/document-library/
core-documentation/doc_core_api/current/view/
3/4/
๏ wiki.typo3.org/Hook_programming
๏ typo3.org/extensions/repository/view/
dmc_hooklist
๏ typo3.org/documentation/document-library/
core-documentation/doc_core_api/4.0.0/view/
Contact me
Email:
patrick@patrickbroens.nl
Skype: patrick.broens
Telefoon: +31 6 53 11 66
80
Tuesday, December 11, 12