<?php
// File: packages/zab_site/Configuration/TCA/Overrides/pages.php
$forMenuFooter = [
    'exclude' => true,
    'label' => 'Show in Footer Menu',
    'config' => [
        'type' => 'check',
        'renderType' => 'checkboxToggle',
        'items' => [
            ['label' => ''],
        ],
    ],
];

// 1. Add the column to the pages table
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages', ['show_in_footer' => $forMenuFooter]);
// 2. Insert the field in the "Access" tab right after "nav_hide" (only for standard pages, doktype 1)
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
    'pages',
    'show_in_footer',
    '1',
    'after:nav_hide'
);

// hide page on breadcrumb
$noBreadcrumbLinkField = [
    'exclude' => true,
    'label' => 'Disable link in breadcrumb',
    'config' => [
        'type' => 'check',
        'renderType' => 'checkboxToggle',
        'items' => [
            ['label' => ''],
        ],
    ],
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages', ['no_link_in_breadcrumb' => $noBreadcrumbLinkField]);

// hide header button
$disableHeaderButton = [
    'exclude' => true,
    'label' => 'Disable Header Button Link (login)',
    'config' => [
        'type' => 'check',
        'renderType' => 'checkboxToggle',
        'items' => [
            ['label' => ''],
        ],
    ],
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages', ['disable_header_button_link' => $disableHeaderButton]);

// Group both fields in one palette/row
$GLOBALS['TCA']['pages']['palettes']['zab_page_toggles'] = [
    'showitem' => 'no_link_in_breadcrumb, disable_header_button_link',
];

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
    'pages',
    '--palette--;Page Options;zab_page_toggles',
    '1',
    'after:no_search'
);
