TYPO3 - Troubleshooting Version 8: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 95: Zeile 95:
 
  // für einzelne Extensions
 
  // für einzelne Extensions
 
  $GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParameters'] .= ',tx_extkey_pi1[myparameter]';
 
  $GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParameters'] .= ',tx_extkey_pi1[myparameter]';
 +
 +
== Backend Icons funktionieren nicht mehr ==
 +
Bis v6 hatte man das IconUtility, das ist in v8 rausgeflogen. Ab hier gibt es nur noch die IconRegistry
 +
 +
[[TYPO3 - IconRegistry]]

Version vom 9. Januar 2020, 13:44 Uhr

FlashMessages in Fluid Templates

FlashMessages:renderMode funktioniert nicht mehr. Den Parameter renderMode aus Fluid Templates entfernen (ist jetzt immer im Mode div)

Beispiel

        <ul class="typo3-flashMessages">
                <f:for each="{flashMessages}" as="flashMessage">
                        <li class="alert {flashMessage.class}">
                                <h4>{flashMessage.title}</h4>
                                {flashMessage.message}
                        </li>
                </f:for>
        </ul>
</f:flashMessages>

Zugriff auf Settings in Fluid Templates klappt nicht mehr

TCA Konfiguration

http://t3-developer.com/1/ext-programmierung/basics/das-tca-im-detail/


Die Definition der Backend TableContentArray muss jetzt in eine eigene Datei statt in die ext_tables.php

Früher hat man in der ext_tables die crtl Section gehabt und darin eine Zeile wie:

'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/TCA/Category.php',

In der Datei auf die Verwiesen wird hat man den Rest definiert. Jetzt legt man in

Configuration/TCA für jede Tabelle eine eigene Datei an:
tx_meineextension_domain_model_meinetabelle.php

und definiert darin

// alle TCA Infos für die Tabelle
return array(
  'ctrl'=>(...),
  'interface'=>,
  ...
);

Die dynamicConfigFile Zeile muss ganz raus.


Deprecation: #70514 - dynamicConfigFile is deprecated

See Issue #70514 Description

The TCA configuration dynamicConfigFile within the ctrl section of a table has been marked as deprecated and must not be used any longer. Impact

Using dynamicConfigFile within the ctrl section of a table will trigger a deprecation log entry. Migration

The setting is typically used in ext_tables.php files of extensions. The table configuration (TCA) must be moved to an own file in Configuration/TCA/<table_name>.php. The dynamicConfigFile setting isn’t needed anymore since the whole TCA array definition is in this file.

Furthermore, any other TCA manipulation of third party tables must be moved to Configuration/TCA/Overrides and no TCA setting must remain in ext_tables.php. This is highly encouraged since TYPO3 CMS 6.2 already for performance reasons. If this change is not applied to extensions, extension compatibility6 must be loaded or further migration may not be applied to this portion of TCA leading to all sorts of possible issues.

Fluid in JavaScript funktioniert nicht mehr

Das Problem liegt daran, das der ViewHelper Parser die geschweiften Klammern erhalten möchte, er denkt das gehört zum JavaScript. Man muss ihn dazu bringen die Detection abzuschalten.

https://docs.typo3.org/m/typo3/guide-extbasefluid/master/en-us/Fluid/ThingsToKnow/JsAndInline.html

Bei mir hat es am Besten geholfen den ersten Wert so zu verpacken:

<f:format.raw>{settings.rows}</f:format.raw>

Für die restlichen hat es dann seltsamerweise auch funktioniert. Wahrscheinlich ist die detection dann ausgeschalten und er verhält sich wie früher.

cHash Probleme

http://typo3.3.n7.nabble.com/TYPO3-8-6-amp-cHash-empty-td287591.html
https://github.com/einpraegsam/training/issues/2
https://docs.typo3.org/m/typo3/book-extbasefluid/master/en-us/b-ExtbaseReference/Index.html
Page Not Found
Reason: Request parameters could not be validated (&cHash empty)

Der cHash wird für das caching benötigt.

Das Problem ist, dass TYPO3 8.x den cHash grundsätzlich validieren möchte. Wenn keiner vorhanden ist wird das als Fehler interpretiert. Man kann das mit folgender TypoScript Konfiguration unterbinden:

plugin.tx_aimeos.features.requireCHashArgumentForActionArguments = 0

Oder das Caching ausschalten ? Oder man muss schauen, das bei der Link generierung auch immer der cHash mit geht.

cHash und JavaScript Links

Wenn man einen Link per JS zusammenbaut, dann hat man keine Möglichkeit den cHash mitzuschicken. Sobald ein Plugin eine Action ausführt z.B. so:

https://www.self-storage4u.de/kontakt?tx_powermail_pi1%5Baction%5D=create&tx_powermail_pi1%5Bcontroller%5D=Form#c289

möchte Typo3 einen gültigen cHash. Man kann aber für alle Extensions diesen Check abschalten. In dem Beispiel z.B. im TypoScript

plugin.tx_powermail.features.requireCHashArgumentForActionArguments = 0

Weitere Möglichkeiten:

Ein eigenes Plugin für den (oder alle) AJAX-Request(s) zu bauen (z.B. Pi2) und dort den Check auszuschalten:

plugin.tx_extkey_pi2.features.requireCHashArgumentForActionArguments = 0

Parameter aus dem cHash Check in der Konfiguration auschalten

// für mehrere Parameter und Extensions...
$GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParameters'] = 'L, pk_campaign, pk_kwd, utm_source, utm_medium, utm_campaign, utm_term, utm_content,tx_extkey_pi1[myparameter]';
// für einzelne Extensions
$GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParameters'] .= ',tx_extkey_pi1[myparameter]';

Backend Icons funktionieren nicht mehr

Bis v6 hatte man das IconUtility, das ist in v8 rausgeflogen. Ab hier gibt es nur noch die IconRegistry

TYPO3 - IconRegistry