2016-09-10 16 views
0

私のExtensionでは、tx_news ExtensionのbackendUtility Hookを使用しています。それはTYPO3の前のバージョンでうまくいきます。それはフックであり、それは私が元のパラメータに変更することはできません、これらのパラメータparamsおよびリファレンスを必要とtx_newsのFlexform HookがTYPO3 8.xで動作しない

1: PHP Warning: Declaration of \Foo\BarBackendUtility::updateFlexforms(&$params, &$reference) should be compatible with GeorgRinger\News\Hooks\BackendUtility::updateFlexforms(array &$dataStructure, array $row) in /path/to/BackendUtility.php line 0

/** 
* @param array|string $params 
* @param array $reference 
* @return void 
*/ 
public function updateFlexforms(&$params, &$reference) { 
    if ($params['selectedView'] === 'News->calendar') { 
     $removedFields = $this->removedFieldsInCalendarView; 

     $this->deleteFromStructure($dataStructure, $removedFields); 
    } 

} 
TYPO3 8.3では

および8.4は、私は次の警告を得ました関数。これはまた問題につながるだろう。

私はここで何が欠けていますか?

答えて

1

updateFlexformメソッドの名前を別の名前に変更するだけです。これはPHP5.6と7.0で動作します

/** 
* @param array $params 
* @param array $reference 
* @return void 
*/ 
public function updateFlexformsDatedNews(&$params, &$reference) { 
    if ($params['selectedView'] === 'News->calendar') { 
     $removedFields = $this->removedFieldsInCalendarView; 
     $this->deleteFromStructure($params['dataStructure'], $removedFields); 
    } 

} 

問題はPHP7

+0

私もこれまで考えていたが、このエラーが出た: 引数1はGeorgRinger \ News \ Hooks \ BackendUtility :: deleteFromStructure()に渡され、array型でなければならず、33行目で/BackendUtility.php – Falk

+0

あなたのメソッドに$ dataStructureが定義されていません... –

1

の最初の答えと同じスレッド内のコメント(ゲオルク・リンガーの両方によって)ソリューションの組み合わせリードです

0

これはPHPのWarrnigメッセージです。TYPO3 8コアupdateFlexforms()のBecaue関数は、常に型配列を持つ2つのパラメータを渡します。この関数では、配列の値を渡す必要があります。

関連する問題