Compare commits

...

4 Commits

Author SHA1 Message Date
Tony Air 34a0f71edc IMPR: Legacy pages 2023-12-13 02:24:51 +02:00
Tony Air 2bbbb541c5 IMPR: Legacy pages 2023-12-13 02:03:15 +02:00
Tony Air db5192e2bb IMPR: RedirectorPage open in new window 2023-12-13 01:16:41 +02:00
Tony Air 1adfc4ef01 IMPR: RedirectorPage open in new window 2023-12-13 01:16:35 +02:00
4 changed files with 53 additions and 8 deletions

View File

@ -58,3 +58,7 @@ Page:
- A2nt\CMSNiceties\Models\TeamMember
extensions:
- DNADesign\Elemental\Extensions\ElementalPageExtension
SilverStripe\CMS\Model\RedirectorPage:
extensions:
- A2nt\CMSNiceties\Extensions\RedirectorPageEx

View File

@ -0,0 +1,28 @@
<?php
namespace A2nt\CMSNiceties\Extensions;
use SilverStripe\Forms\CheckboxField;
use SilverStripe\Forms\FieldList;
use SilverStripe\ORM\DataExtension;
class RedirectorPageEx extends DataExtension
{
private static $db = [
'OpenInNewTab' => 'Boolean(0)',
];
private static $defaults = [
'OpenInNewTab' => 0,
];
public function updateCMSFields(FieldList $fields)
{
$MainTab = $fields->findOrMakeTab('Root.Main');
$MainTab->push(
CheckboxField::create(
'OpenInNewTab',
_t('RedirectorPage.OpenInNewTab', 'Open in new tab')
)
);
}
}

View File

@ -2,11 +2,11 @@
namespace A2nt\CMSNiceties\GraphQL;
use A2nt\CMSNiceties\Templates\DeferredRequirements;
use SilverStripe\CMS\Model\RedirectorPage;
use SilverStripe\Control\Controller;
use SilverStripe\GraphQL\Controller as GraphQLController;
use SilverStripe\Core\Extension;
use SilverStripe\View\Requirements;
use SilverStripe\ErrorPage\ErrorPage;
/**
* Class \A2nt\CMSNiceties\GraphQL\ObjectGraphQlEx
@ -65,4 +65,17 @@ class ObjectGraphQlEx extends Extension
// TODO: GraphQL form response /element/*id*/action
return $req->requestVar('SecurityID') || $req->httpMethod() === 'POST' || preg_match('!element/([0-9]+)/([A-z]+)!', $req->getURL());
}
public function isLegacy()
{
$object = $this->owner;
return $object->config()->get('legacy') || in_array(
$object->ClassName,
[
RedirectorPage::class,
ErrorPage::class,
]
);
}
}

View File

@ -6,21 +6,21 @@
$ExtraClass
{$LinkClass}
<% if $RedirectionType = 'External' || $ExternalURL || $OpenInNewWindow %>
external
legacy
<% end_if %>
<% if $isCurrent || $isSection %>active <% end_if %>
<% if $isCurrent || $isSection %>active<% end_if %>
<% if $isSection %>section<% end_if %>
"
<% if $RedirectionType = 'External' || $OpenInNewWindow %>
<% if $OpenInNewWindow %>
rel="noreferrer"
target="_blank"
<% end_if %>
data-text="{$MenuTitle.XML}"
>
<% if $BlockIcon %>
<i class="fa-icon $BlockIcon"></i>
<% end_if %>
<% if $BlockIcon %>
<i class="fa-icon $BlockIcon"></i>
<% end_if %>
$MenuTitle.XML
<% if $isCurrent || $isSection %><i class="visually-hidden">(current)</i><% end_if %>
</a>