Could not load partial file Menu/Type-15

Diese Fehlermeldung erscheint, wenn man sich in TYPO3 7.6 eine Sitemap anzeigen lassen will:

Could not load partial file. Tried following paths: (…) typo3/sysext/fluid_styled_content/Resources/Private/Partials/Menu/Type-15″

Ursache ist, dass in der fluid_styled_content Extension eine Template Datei fehlt. Da man den Core nicht verändern sollte, gibt es folgende Lösung: Weiterlesen

Migrate textmedia Fehler beim TYPO3 Update

Beim Update auf 7.6 kann es sein, dass diese Update Funktion einen Fehler hat:

Migrate CTypes text, image and textpic to textmedia and move file relations from „image“ to „asset_references“

Update failed!

SQL-ERROR: Column 'assets' cannot be null

Ursache ist, dass nach Updates von 4.5 auf 6.2 die FAL Konvertierung nicht bei allen Einträgen funktioniert hat. Das fällt aber erst beim Update auf 7.6 auf, wenn man nach textmedia konvertiert für den fluid_styled_content.
Mit diesem SQL Befehl kann man sich erst mal alle image Einträge anzeigen lassen: Weiterlesen

Extension Settings abfragen

Wenn man die TypoScript Settings einer Extension abfragen will, kann man normalerweise folgenden Aufruf verwenden:

Typoscript: 
  plugin.tx_myextension_pi1 {
    settings {
      something = 123456
    }
  }
PHP: 
  $var = $this->settings['something'];

Allerdings benötigt man dafür den Extbase Controller Kontext. Es gibt aber immer wieder Situationen, bei denen dieser nicht verfügbar ist: Weiterlesen

mysql_real_escape_string mit PHP7

Die Funktion mysql_real_escape_string ist in PHP7 nicht mehr vorhanden. Man kann sie folgendermaßen ersetzen:

mysqli_real_escape_string($GLOBALS['TYPO3_DB']->getDatabaseHandle(),$string);

Wenn man mit Search-Replace über den gesamten Code geht, folgendes eingeben:

Search: mysql_real_escape_string(
Replace: mysqli_real_escape_string($GLOBALS['TYPO3_DB']->getDatabaseHandle(),

TCA für RTE und link wizards in 7.6

Der Code für ein RTE-Feld in einer eigenen Extension hat sich mit der Version 7.6 geändert. Die Syntax von TCA wizards hat sich geändert, das betrifft vor allem RTE und Typolinks.

Fehlermeldung:

The way registering a wizard in TCA has changed in 6.2 and was removed in CMS 7. Please set module[name]=module_name instead of using script=path/to/script.php in your TCA.

Alter Code für RTE (bis 6.2):

'wizards' => array(
   'RTE' => array(
      'icon' => 'wizard_rte2.gif',
      'notNewRecords'=> 1,
      'RTEonly' => 1,
      'script' => 'wizard_rte.php',
      'title' => 'LLL:EXT:cms/locallang_ttc.xlf:bodytext.W.RTE',
      'type' => 'script'
   )
)

Neuer Code für RTE wizard:

'wizards' => array(
    '_PADDING' => 2,
    'RTE' => array(
        'notNewRecords' => 1,
        'RTEonly' => 1,
        'type' => 'script',
        'title' => 'Full screen Rich Text Editing',
        'icon' => 'wizard_rte2.gif',
        'module' => array(
            'name' => 'wizard_rte',
        ),
    ),
),

Alter Code für Links (bis 6.2):

"wizards"  => array(
     "_PADDING" => 2,
     "link"     => array(
        "type"         => "popup",
        "title"        => "Link",
        "icon"         => "link_popup.gif",
        "script"       => "browse_links.php?mode=wizard",
        "JSopenParams" => "height=300,width=500,status=0,menubar=0,scrollbars=1"
     )
),

Neuer Code für Link wizard:

'wizards' => array(
   '_PADDING' => 2,
   'link' => array(
      'type' => 'popup',
      'title' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_link_formlabel',
      'icon' => 'actions-wizard-link',
      'module' => array(
          'name' => 'wizard_link',
      ),
      'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1'
   ),
),
'softref' => 'typolink'