[BUGFIX] Include doktype in pageOverlayFields 65/40365/2
authorAndreas Wolf <andreas.wolf@typo3.org>
Wed, 17 Jun 2015 13:34:29 +0000 (15:34 +0200)
committerBenjamin Mack <benni@typo3.org>
Sat, 20 Jun 2015 12:14:01 +0000 (14:14 +0200)
Translation overlays must include the doktype field of the translated
page, to take into account page type changes. Otherwise we get unwanted
behaviour if e.g. the original language is a shortcut, but the
translated page is a standard page. Then still a shortcut will be
rendered, with weird possible mode combinations, rendering the page
unviewable.

This is especially nasty as the translation mode is reset when
translating, making the translated page a "shortcut to selected page"
which is always broken (!) if no page is selected.

Releases: master
Resolves: #67562
Change-Id: I8b562643de6c0fd0e267875e298f7c6de14ebbe3
Reviewed-on: http://review.typo3.org/40365
Reviewed-by: Daniel Maier <dani-maier@gmx.de>
Tested-by: Daniel Maier <dani-maier@gmx.de>
Reviewed-by: Benjamin Mack <benni@typo3.org>
Tested-by: Benjamin Mack <benni@typo3.org>
typo3/sysext/core/Configuration/DefaultConfiguration.php

index 9b136b5..6b1c799 100644 (file)
@@ -783,7 +783,7 @@ return array(
                'get_url_id_token' => '#get_URL_ID_TOK#',               // This is the token, which is substituted in the output code in order to keep a GET-based session going. Normally the GET-session-id is 5 chars ('&amp;ftu=') + hash_length (norm. 10)
                'content_doktypes' => '1,2,5,7',                // List of pages.doktype values which can contain content (so shortcut pages and external url pages are excluded, but all pages below doktype 199 should be included. doktype=6 is not either (backend users only...).
                'enable_mount_pids' => TRUE,            // Boolean: If set to "1", the mount_pid feature allowing 'symlinks' in the page tree (for frontend operation) is allowed.
-               'pageOverlayFields' => 'uid,title,subtitle,nav_title,media,keywords,description,abstract,author,author_email,url,urltype,shortcut,shortcut_mode',               // List of fields from the table "pages_language_overlay" which should be overlaid on page records. See \TYPO3\CMS\Frontend\Page\PageRepository::getPageOverlay()
+               'pageOverlayFields' => 'uid,doktype,title,subtitle,nav_title,media,keywords,description,abstract,author,author_email,url,urltype,shortcut,shortcut_mode',               // List of fields from the table "pages_language_overlay" which should be overlaid on page records. See \TYPO3\CMS\Frontend\Page\PageRepository::getPageOverlay()
                'hidePagesIfNotTranslatedByDefault' => FALSE,           // Boolean: If TRUE, pages that has no translation will be hidden by default. Basically this will inverse the effect of the page localization setting "Hide page if no translation for current language exists" to "Show page even if no translation exists"
                'eID_include' => array(),               // Array of key/value pairs where key is "tx_[ext]_[optional suffix]" and value is relative filename of class to include. Key is used as "?eID=" for index_ts.php to include the code file which renders the page from that point. (Useful for functionality that requires a low initialization footprint, eg. frontend ajax applications)
                'disableNoCacheParameter' => FALSE,             // Boolean: If set, the no_cache request parameter will become ineffective. This is currently still an experimental feature and will require a website only with plugins that don't use this parameter. However, using "&amp;no_cache=1" should be avoided anyway because there are better ways to disable caching for a certain part of the website (see COA_INT/USER_INT documentation in TSref).