diff --git a/Classes/ViewHelpers/Backend/PageIdViewHelper.php b/Classes/ViewHelpers/Backend/PageIdViewHelper.php
new file mode 100644
index 00000000..68bf9d22
--- /dev/null
+++ b/Classes/ViewHelpers/Backend/PageIdViewHelper.php
@@ -0,0 +1,80 @@
+
+ *
+ * Page id
+ */
+class PageIdViewHelper extends AbstractBackendViewHelper
+{
+
+ /**
+ * This ViewHelper renders no HTML
+ *
+ * @var bool
+ */
+ protected $escapeOutput = true;
+
+ /**
+ * Output page id
+ *
+ * @return string the page id
+ */
+ public function render(): string
+ {
+ return static::renderStatic(
+ [],
+ $this->buildRenderChildrenClosure(),
+ $this->renderingContext
+ );
+ }
+
+ /**
+ * @param array $arguments
+ * @param \Closure $renderChildrenClosure
+ * @param RenderingContextInterface $renderingContext
+ *
+ * @return string
+ */
+ public static function renderStatic(
+ array $arguments,
+ \Closure $renderChildrenClosure,
+ RenderingContextInterface $renderingContext
+ ): string {
+ $id = (int)GeneralUtility::_GP('id');
+ if ($id > 0) {
+ return '' . $id;
+ }
+
+ return '';
+ }
+}
diff --git a/Classes/ViewHelpers/Backend/PageTitleViewHelper.php b/Classes/ViewHelpers/Backend/PageTitleViewHelper.php
new file mode 100644
index 00000000..5f01ccae
--- /dev/null
+++ b/Classes/ViewHelpers/Backend/PageTitleViewHelper.php
@@ -0,0 +1,88 @@
+
+ *
+ * Page title
+ */
+class PageTitleViewHelper extends AbstractBackendViewHelper
+{
+
+ /**
+ * This ViewHelper renders no HTML
+ *
+ * @var bool
+ */
+ protected $escapeOutput = true;
+
+ /**
+ * Output page title
+ *
+ * @return string the page title
+ */
+ public function render(): string
+ {
+ return static::renderStatic(
+ [],
+ $this->buildRenderChildrenClosure(),
+ $this->renderingContext
+ );
+ }
+
+ /**
+ * @param array $arguments
+ * @param \Closure $renderChildrenClosure
+ * @param RenderingContextInterface $renderingContext
+ *
+ * @return string
+ */
+ public static function renderStatic(
+ array $arguments,
+ \Closure $renderChildrenClosure,
+ RenderingContextInterface $renderingContext
+ ): string {
+ $id = (int)GeneralUtility::_GP('id');
+ if ($id > 0) {
+ $pageRecord = BackendUtility::readPageAccess(
+ $id,
+ $GLOBALS['BE_USER']->getPagePermsClause(Permission::PAGE_SHOW)
+ );
+ if ($pageRecord['title']) {
+ return $pageRecord['title'];
+ }
+ }
+
+ return '';
+ }
+}
diff --git a/Resources/Private/JavaScript/Module.js b/Resources/Private/JavaScript/Module.js
index b58a423a..f0c0f6cc 100644
--- a/Resources/Private/JavaScript/Module.js
+++ b/Resources/Private/JavaScript/Module.js
@@ -124,6 +124,9 @@ define(['jquery'], function($) {
showIfNewsletterIsReady();
}
});
+ if (input.value.length !== 0) {
+ input.dispatchEvent(new Event('blur'));
+ }
}
};
diff --git a/Resources/Private/Partials/Newsletter/FormFields.html b/Resources/Private/Partials/Newsletter/FormFields.html
index f2aa8d03..2ca42a54 100644
--- a/Resources/Private/Partials/Newsletter/FormFields.html
+++ b/Resources/Private/Partials/Newsletter/FormFields.html
@@ -6,6 +6,7 @@
@@ -60,6 +61,7 @@
@@ -93,6 +95,7 @@
diff --git a/ext_tables.php b/ext_tables.php
index 892d57e4..73c98de9 100644
--- a/ext_tables.php
+++ b/ext_tables.php
@@ -69,6 +69,7 @@ function () {
'access' => 'user,group',
'icon' => 'EXT:luxletter/Resources/Public/Icons/lux_module_newsletter.svg',
'labels' => 'LLL:EXT:luxletter/Resources/Private/Language/locallang_mod_newsletter.xlf',
+ 'navigationComponentId' => 'TYPO3/CMS/Backend/PageTree/PageTreeElement',
]
);