Skip to content

Commit

Permalink
ENH Update code to reflect changes in template layer (#1833)
Browse files Browse the repository at this point in the history
  • Loading branch information
GuySartorelli authored Oct 30, 2024
1 parent 6bb1e7f commit 0ebaaf3
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 15 deletions.
3 changes: 1 addition & 2 deletions code/Forms/GridFieldDetailFormPreviewExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ private function getSilverStripeNavigator(): DBHTMLText
{
$navigator = SilverStripeNavigator::create($this->owner->getRecord());
$templates = SSViewer::get_templates_by_class(LeftAndMain::class, '_SilverStripeNavigator', LeftAndMain::class);
$renderWith = SSViewer::chooseTemplate($templates);
return $navigator->renderWith($renderWith);
return $navigator->renderWith($templates);
}
}
25 changes: 12 additions & 13 deletions code/LeftAndMain.php
Original file line number Diff line number Diff line change
Expand Up @@ -901,16 +901,12 @@ public function MenuCurrentItem()
}

/**
* Return appropriate template(s) for this class, with the given suffix using
* Return appropriate template candidates for this class, with the given suffix using
* {@link SSViewer::get_templates_by_class()}
*
* @param string $suffix
* @return string|array
*/
public function getTemplatesWithSuffix($suffix)
public function getTemplatesWithSuffix(string $suffix): array
{
$templates = SSViewer::get_templates_by_class(get_class($this), $suffix, __CLASS__);
return SSViewer::chooseTemplate($templates);
return SSViewer::get_templates_by_class(get_class($this), $suffix, __CLASS__);
}

public function Content()
Expand All @@ -927,7 +923,8 @@ public function PreviewPanel()
{
$template = $this->getTemplatesWithSuffix('_PreviewPanel');
// Only render sections with preview panel
if ($template) {
$engine = $this->getTemplateEngine();
if ($engine->hasTemplate($template)) {
return $this->renderWith($template);
}
return null;
Expand Down Expand Up @@ -1286,7 +1283,7 @@ public function Modals()
/**
* Renders a panel containing tools which apply to all displayed
* "content" (mostly through {@link EditForm()}), for example a tree navigation or a filter panel.
* Auto-detects applicable templates by naming convention: "<controller classname>_Tools.ss",
* Auto-detects applicable templates by naming convention: "<controller classname>_Tools",
* and takes the most specific template (see {@link getTemplatesWithSuffix()}).
* To explicitly disable the panel in the subclass, simply create a more specific, empty template.
*
Expand All @@ -1295,8 +1292,9 @@ public function Modals()
public function Tools()
{
$templates = $this->getTemplatesWithSuffix('_Tools');
if ($templates) {
$viewer = SSViewer::create($templates);
$engine = $this->getTemplateEngine();
if ($engine->hasTemplate($templates)) {
$viewer = SSViewer::create($templates, $this->getTemplateEngine());
return $viewer->process($this);
} else {
return false;
Expand All @@ -1317,8 +1315,9 @@ public function Tools()
public function EditFormTools()
{
$templates = $this->getTemplatesWithSuffix('_EditFormTools');
if ($templates) {
$viewer = SSViewer::create($templates);
$engine = $this->getTemplateEngine();
if ($engine->hasTemplate($templates)) {
$viewer = SSViewer::create($templates, $this->getTemplateEngine());
return $viewer->process($this);
} else {
return false;
Expand Down

0 comments on commit 0ebaaf3

Please sign in to comment.