diff -u b/page_manager_ui/src/Form/PageParametersForm.php b/page_manager_ui/src/Form/PageParametersForm.php --- b/page_manager_ui/src/Form/PageParametersForm.php +++ b/page_manager_ui/src/Form/PageParametersForm.php @@ -67,6 +67,12 @@ */ foreach ($page->getParameterNames() as $parameter_name) { $parameter = $page->getParameter($parameter_name); + + // Use parameter defaults for new parameters. + if (empty($parameter)) { + $parameter = (array) $page->parameterDefaults(); + } + $parameter += ['optional' => FALSE]; $row = []; $row['machine_name'] = $parameter['machine_name']; diff -u b/src/Entity/Page.php b/src/Entity/Page.php --- b/src/Entity/Page.php +++ b/src/Entity/Page.php @@ -250,6 +250,21 @@ } /** + * Defaults for new parameters. + * + * @return array + * An array of default parameter values. + */ + public function parameterDefaults() { + return [ + 'type' => '', + 'machine_name' => '', + 'label' => '', + 'optional' => FALSE, + ]; + } + + /** * {@inheritdoc} */ public function getParameter($name) {