diff --git a/typo3/sysext/backend/Classes/Utility/BackendUtility.php b/typo3/sysext/backend/Classes/Utility/BackendUtility.php
index 8492747f2346ae0838abc35aca3f9e1549d09834..c32272d987e0bb5cc56b731b790b450e14d1688e 100755
--- a/typo3/sysext/backend/Classes/Utility/BackendUtility.php
+++ b/typo3/sysext/backend/Classes/Utility/BackendUtility.php
@@ -32,6 +32,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\HttpUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
 use TYPO3\CMS\Core\Utility\PathUtility;
+use TYPO3\CMS\Core\Utility\StringUtility;
 use TYPO3\CMS\Core\Versioning\VersionState;
 use TYPO3\CMS\Core\Database\DatabaseConnection;
 use TYPO3\CMS\Frontend\Page\PageRepository;
@@ -348,6 +349,7 @@ class BackendUtility {
 					'pid' => $val['pid'],
 					'title' => $val['title'],
 					'doktype' => $val['doktype'],
+					'tsconfig_includes' => $val['tsconfig_includes'],
 					'TSconfig' => $val['TSconfig'],
 					'is_siteroot' => $val['is_siteroot'],
 					't3ver_oid' => $val['t3ver_oid'],
@@ -381,7 +383,7 @@ class BackendUtility {
 			$row = $getPageForRootline_cache[$ident];
 		} else {
 			$db = static::getDatabaseConnection();
-			$res = $db->exec_SELECTquery('pid,uid,title,doktype,TSconfig,is_siteroot,t3ver_oid,t3ver_wsid,t3ver_state,t3ver_stage,backend_layout_next_level', 'pages', 'uid=' . (int)$uid . ' ' . self::deleteClause('pages') . ' ' . $clause);
+			$res = $db->exec_SELECTquery('pid,uid,title,doktype,tsconfig_includes,TSconfig,is_siteroot,t3ver_oid,t3ver_wsid,t3ver_state,t3ver_stage,backend_layout_next_level', 'pages', 'uid=' . (int)$uid . ' ' . self::deleteClause('pages') . ' ' . $clause);
 			$row = $db->sql_fetch_assoc($res);
 			if ($row) {
 				$newLocation = FALSE;
@@ -1234,6 +1236,30 @@ class BackendUtility {
 			// Setting default configuration
 			$TSdataArray['defaultPageTSconfig'] = $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'];
 			foreach ($rootLine as $k => $v) {
+				if (trim($v['tsconfig_includes'])) {
+					$includeTsConfigFileList = GeneralUtility::trimExplode(',', $v['tsconfig_includes'], TRUE);
+					// Traversing list
+					foreach ($includeTsConfigFileList as $key => $includeTsConfigFile) {
+						if (StringUtility::beginsWith($includeTsConfigFile, 'EXT:')) {
+							list($includeTsConfigFileExtensionKey, $includeTsConfigFilename) = explode(
+								'/',
+								substr($includeTsConfigFile, 4),
+								2
+							);
+							if (
+								(string)$includeTsConfigFileExtensionKey !== ''
+								&& ExtensionManagementUtility::isLoaded($includeTsConfigFileExtensionKey)
+								&& (string)$includeTsConfigFilename !== ''
+							) {
+								$includeTsConfigFileAndPath = ExtensionManagementUtility::extPath($includeTsConfigFileExtensionKey) .
+									$includeTsConfigFilename;
+								if (file_exists($includeTsConfigFileAndPath)) {
+									$TSdataArray['uid_' . $v['uid'] . '_static_' . $key] = GeneralUtility::getUrl($includeTsConfigFileAndPath);
+								}
+							}
+						}
+					}
+				}
 				$TSdataArray['uid_' . $v['uid']] = $v['TSconfig'];
 			}
 			$TSdataArray = static::emitGetPagesTSconfigPreIncludeSignal($TSdataArray, $id, $rootLine, $returnPartArray);
diff --git a/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php b/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
index 16619ecf5347fe471b571b5ea3ea02a4dc2d7801..eca3b5eedb34701708a310ae2e0c4d15201ca862 100644
--- a/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
+++ b/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
@@ -1431,6 +1431,23 @@ tt_content.' . $key . $suffix . ' {
 		}
 	}
 
+	/**
+	 * Call this method to add an entry in the pageTSconfig list found in pages
+	 * FOR USE in ext_tables.php FILES or files in Configuration/TCA/Overrides/*.php Use the latter to benefit from TCA caching!
+	 *
+	 * @param string $extKey The extension key
+	 * @param string $file The path and title where the TSconfig file is located
+	 * @param string $title The title in the selector box
+	 * @return void
+	 */
+	static public function registerPageTSConfigFile($extKey, $file, $title) {
+		if ($extKey && $file && is_array($GLOBALS['TCA']['pages']['columns'])) {
+			$value = str_replace(',',  '', 'EXT:' . $extKey . '/' . $file);
+			$itemArray = array(trim($title . ' (' . $extKey . ')'), $value);
+			$GLOBALS['TCA']['pages']['columns']['tsconfig_includes']['config']['items'][] = $itemArray;
+		}
+	}
+
 	/**
 	 * Adds $content to the default TypoScript setup code as set in $GLOBALS['TYPO3_CONF_VARS'][FE]['defaultTypoScript_setup']
 	 * Prefixed with a [GLOBAL] line
diff --git a/typo3/sysext/core/Configuration/TCA/pages.php b/typo3/sysext/core/Configuration/TCA/pages.php
index 694acd3c2acbb9c089f9f0d41e2cbc064376a8c3..d93403da4780ad44f64a144956cfa2264eaab827 100644
--- a/typo3/sysext/core/Configuration/TCA/pages.php
+++ b/typo3/sysext/core/Configuration/TCA/pages.php
@@ -801,7 +801,18 @@ return array(
 				'size' => 1,
 				'maxitems' => 1,
 			)
-		)
+		),
+		'tsconfig_includes' => array(
+			'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tsconfig_includes',
+			'config' => array(
+				'type' => 'select',
+				'size' => 10,
+				'maxitems' => 100,
+				'items' => array(),
+				'enableMultiSelectFilterTextfield' => TRUE,
+				'softref' => 'ext_fileref'
+			)
+		),
 	),
 	'types' => array(
 		// normal
@@ -1029,7 +1040,7 @@ return array(
 			'showitem' => 'media;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.media_formlabel',
 		),
 		'config' => array(
-			'showitem' => 'TSconfig;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.TSconfig_formlabel',
+			'showitem' => 'tsconfig_includes;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.tsconfig_includes, --linebreak--, TSconfig;LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.TSconfig_formlabel',
 		)
 	)
 );
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Feature-68315-IncludeAPageTSconfigFileInPagePropertiesLikeTSStaticTemplates.rst b/typo3/sysext/core/Documentation/Changelog/master/Feature-68315-IncludeAPageTSconfigFileInPagePropertiesLikeTSStaticTemplates.rst
new file mode 100644
index 0000000000000000000000000000000000000000..c42b2e4ea9b196537c77f88bbc232806782db946
--- /dev/null
+++ b/typo3/sysext/core/Documentation/Changelog/master/Feature-68315-IncludeAPageTSconfigFileInPagePropertiesLikeTSStaticTemplates.rst
@@ -0,0 +1,27 @@
+=========================================================================================
+Feature: #68315 - Include a pageTSconfig file in page properties like TS static templates
+=========================================================================================
+
+Description
+===========
+
+In the Page properties an option is added to include a page TSconfig file (the same way as TypoScript static templates are included).
+The included files from the pages in the rootline are included after the default page TSconfig and before the normal TSconfig
+from the pages in the rootline.
+To add files to the selector in the Page properties a new function ``registerPageTSConfigFile`` is added to
+``\TYPO3\CMS\Core\Utility\ExtensionManagementUtility`` to register a pageTSconfig file.
+
+
+Impact
+======
+
+No effect on existing installations.
+
+Usage
+=====
+
+In ``Configuration/TCA/Overrides/pages.php`` of any extension, register PageTS config files, which will be shown afterwards at the newly introduced field.
+
+.. code-block:: php
+
+	\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile('extension_name', 'Configuration/PageTS/myPageTSconfigFile.txt', 'My special config');
diff --git a/typo3/sysext/core/ext_tables.sql b/typo3/sysext/core/ext_tables.sql
index 8932a75b37e1a93d8741575f90a88e9ad338e6a0..b11399e18082c11ba485384795bca7f7519c774c 100644
--- a/typo3/sysext/core/ext_tables.sql
+++ b/typo3/sysext/core/ext_tables.sql
@@ -162,6 +162,7 @@ CREATE TABLE pages (
 	fe_login_mode tinyint(4) DEFAULT '0' NOT NULL,
 	backend_layout varchar(64) DEFAULT '' NOT NULL,
 	backend_layout_next_level varchar(64) DEFAULT '' NOT NULL,
+	tsconfig_includes text,
 	PRIMARY KEY (uid),
 	KEY t3ver_oid (t3ver_oid,t3ver_wsid),
 	KEY parent (pid,deleted,sorting),
diff --git a/typo3/sysext/frontend/Resources/Private/Language/locallang_tca.xlf b/typo3/sysext/frontend/Resources/Private/Language/locallang_tca.xlf
index cafff1d27f23fb81782c62d1a463ac171ac34144..8da535d560e618a8ea9c78432379ed4c7a2ef709 100644
--- a/typo3/sysext/frontend/Resources/Private/Language/locallang_tca.xlf
+++ b/typo3/sysext/frontend/Resources/Private/Language/locallang_tca.xlf
@@ -447,6 +447,9 @@
 			<trans-unit id="pages.backend_layout.default">
 				<source>Default</source>
 			</trans-unit>
+			<trans-unit id="pages.tsconfig_includes">
+				<source>Include Page TSConfig (from extensions):</source>
+			</trans-unit>
 			<trans-unit id="tt_content">
 				<source>Page Content</source>
 			</trans-unit>