[TYPO3-dev] typoLink() does not behave in 4.3 as it did in 4.2

Dmitry Dulepov dmitry.dulepov at gmail.com
Fri Jul 17 14:16:27 CEST 2009


Hi!

Xavier Perseguers wrote:
> After digging into tslib_content's code, I fixed problem with
> EXT:ml_links but there is definitively a change of behaviour in 4.3.

There are many dangerous changes in 4.2. At least I do not plan to upgrade to 4.3 any soon because of the compatibility issues.

> In 4.2 if somebody wanted to use a userFunc on a typolink, he had to
> write following TS (which BTW is documented on many websites and in
> official documentation [1]):
> 
> tt_content.text.20.parseFunc.tags.link.typolink.userFunc =
> tx_mllinks_pi1->getFiletype
> 
> In 4.3, there must be some problem with autoloading as one has to
> explicitly define the library to be included:
> 
> tt_content.text.20.parseFunc.tags.link.typolink.userFunc =
> tx_mllinks_pi1->getFiletype
> tt_content.text.20.parseFunc.tags.link.typolink.userFunc.includeLibs =
> EXT:ml_links/pi1/class.tx_mllinks_pi1.php
> 
> However, when defining postUserFunc, e.g., :
> 
> tt_content.text.20.parseFunc.tags.link.postUserFunc = tx_mllinks_pi1->main
> 
> it works without having to manually define the includeLibs, just as in
> 4.2. Note that this worked even before I manually added the includeLibs
> to make typolink.userFunc work.

It does not work now because before 4.2 tx_mllinks_pi1 would be added by addPItoST43() to system–wide "includeLibs". Now it is added to USER's includeLibs. Therefore if you do not call USER object before typolink's call, the needed class will not be loaded.

There are a lot of such small changes in 4.3, which make it dangerous for upgrades or for existing extensions.

-- 
Dmitry Dulepov
LinkedIn: http://www.linkedin.com/in/dmitrydulepov
Twitter: http://twitter.com/dmitryd
Skype: liels_bugs




More information about the TYPO3-dev mailing list