This is enforced in the template only, because the PHP logic already needs to
handle a NULL landing page, as the global landing page could be deleted or
uninstalled. It will implicitly fall back to the ArticleList then.
Resolves #4843
<small>{$application->getPageURL()}</small>
</td>
<td class="columnText columnLandingPageID">
- <select name="landingPageID[{$application->packageID}]">
- <option value="0">{lang}wcf.acp.application.landingPage.default{/lang}</option>
+ <select name="landingPageID[{$application->packageID}]" required>
+ <option value="">{lang}wcf.global.noSelection{/lang}</option>
+ <option value="0"{if $application->getAbbreviation() !== 'wcf'}{if $application->landingPageID === null} selected{/if}{else} disabled{/if}>{lang}wcf.acp.application.landingPage.default{/lang}</option>
{foreach from=$pageNodeList item=pageNode}
{if !$pageNode->isDisabled && !$pageNode->requireObjectID && !$pageNode->excludeFromLandingPage}