You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.2 KiB
45 lines
1.2 KiB
1 month ago
|
<?php
|
||
|
|
||
|
namespace App\TwigExtensions;
|
||
|
|
||
|
use Twig\Extension\AbstractExtension;
|
||
|
use Twig\TwigFunction;
|
||
|
|
||
|
require_once dirname($_SERVER["DOCUMENT_ROOT"]) . "/vendor/autoload.php";
|
||
|
|
||
|
class NavigationExtension extends AbstractExtension
|
||
|
{
|
||
|
public function getFunctions()
|
||
|
{
|
||
|
return [
|
||
|
new TwigFunction('RenderServiceLinks', [$this, 'RenderServiceLinks']),
|
||
|
new TwigFunction('RenderBackButton', [$this, 'RenderBackButton']),
|
||
|
];
|
||
|
}
|
||
|
|
||
|
public function RenderServiceLinks(): string
|
||
|
{
|
||
|
$serviceLinkHTML = "";
|
||
|
|
||
|
return "yrdy";
|
||
|
}
|
||
|
|
||
|
public function RenderBackButton(string $title) : string
|
||
|
{
|
||
|
$html = '
|
||
|
<div style="display: flex; align-items: center;">
|
||
|
<div style="cursor: pointer; display: flex; align-items: center;" onclick="window.history.back();">
|
||
|
<i class="material-icons">arrow_back</i>
|
||
|
<span>Back</span>
|
||
|
</div>
|
||
|
<h1 style="margin-left: 1em;">{{TITLE}}</h1>
|
||
|
<div style="display: table; clear: both"></div>
|
||
|
</div>
|
||
|
';
|
||
|
return str_replace(
|
||
|
search: "{{TITLE}}",
|
||
|
replace: $title,
|
||
|
subject: $html
|
||
|
);
|
||
|
}
|
||
|
}
|