[TYPO3-core] RFC: Bug #11166: loadPrototype() called in frontend editing without a valid doc instance.
Jeff Segars
jsegars at alumni.rice.edu
Fri May 29 18:24:03 CEST 2009
Jeff Segars wrote:
> Hey guys,
>
> This is a SVN patch request.
>
> Type: Bugfix
> Bugtracker reference: http://bugs.typo3.org/view.php?id=11166
> Branch: trunk
>
> Problem:
> When using frontend editing with the edit forms appearing directly on
> the page (and not in a popup) the following fatal error is generated.
>
> PHP Fatal error: Call to a member function loadPrototype() on a
> non-object in
> /Users/jsegars/Sites/typo3_src/trunk/t3lib/class.t3lib_tceforms.php on
> line 5136
>
> This was caused by RFC 0010764: Use new JS-function for loading
> prototype/scriptaculous/extJS which references $GLOBALS['SOBE']->doc
> directly in tceforms. TCEForms may be used in the frontend or the
> backend so when edit forms appear in a frontend context,
> $GLOBALS['SOBE']->doc does not exist at all.
>
> Solution:
> The most obvious solution was to add wrapper for the offending calls in
> t3lib_tceforms_fe as we've done in the past to handle the different
> methods of loading Javascript in the frontend and backend (see
> loadJavascriptLib). In this case, there's more logic in the actual
> loading of prototype, scriptcaulous, and extJS so a simple wrapper isn't
> the best solution.
>
> We've seen this sort of problem pop up several times now, so I think the
> best solution is create a dummy instance of $GLOBALS['SOBE']->doc in the
> frontend context so that we don't have to worry about frontend or
> backend when using tceforms. The attached patch adds a new tsfeDoc to
> typo3/template.php and creates a dummy version of $GLOBALS['SOBE']
> within tceforms_fe.
>
> Thanks,
> Jeff
>
>
Committed Olly's v3 patch to trunk in r5513. Thanks guys!
More information about the TYPO3-team-core
mailing list