Project

General

Profile

Actions

Bug #42963

closed

preProcess() hook invoking in some extensions in PageLayoutViewDrawItemHook fails

Added by Frank Gerards about 12 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Won't have this time
Assignee:
-
Category:
Backend User Interface
Target version:
Start date:
2012-11-14
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
6.0
PHP Version:
5.3
Tags:
Complexity:
medium
Is Regression:
No
Sprint Focus:

Description

I noticed, that at least in two extension in my test system (FLUX and tx_damttcontent) there were errors in the page module display in the backend,
that had the same structure:

<MyExtensionHookClass>::preProcess() must be compatible with that of TYPO3\CMS\Backend\View\PageLayoutViewDrawItemHookInterface::preProcess()...

I looked into both extension hook classes and found the parameters be the same and are matching the interfaces' declaration:

Extensions preProcess() parameters: tx_cms_layout &$parentObject, &$drawItem, &$headerContent, &$itemContent, array &$row
Core Interface Class requirements: \TYPO3\CMS\Backend\View\PageLayoutView &$parentObject, &$drawItem, &$headerContent, &$itemContent, array &$row

the tx_cms_layout object type is also mapped on the right namespace path.

Can anybody investigate, why this error occurs although the preProcess-functions in the extensions have the right declaration ?

I consider this a major issue for all extensions that hook into the backend page module.


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #43451: Existing implementation of txCmsLayoutDrawItemHook fails in 6.0Closed2012-11-29

Actions
Actions #1

Updated by Philipp Maas about 12 years ago

I've noticed a similar issue with the gridelements extension:

Fatal error: Declaration of tx_gridelements_drawItemHook::preProcess() must be compatible with that of TYPO3\CMS\Backend\View\PageLayoutViewDrawItemHookInterface::preProcess() in ...

UPDATE 2012-11-28 13:36: the issue still exists in final release (6.0.0)

Actions #2

Updated by Philipp Maas almost 12 years ago

  • Target version changed from 6.0.0-RC2 to 6.0.1
Actions #3

Updated by Helmut Hummel almost 12 years ago

  • Status changed from New to On Hold
  • Priority changed from Must have to Won't have this time

There a re three ways you can get around that problem:

  1. Update PHP to any version higher than 5.3.6 (which is a requirement for TYPO3 6.0)
  2. Change the hook registration that it does not include a filename (make sure it is found by the autoloader) so that the compatibility autoloader can step in and rewrite the class
  3. Change the class to have the new interface name when used with 6.0
Actions #4

Updated by Mathias Schreiber almost 10 years ago

  • Status changed from On Hold to Closed
  • Is Regression set to No
Actions

Also available in: Atom PDF