Класс SimpleNamespace
может использоваться для создания новых атрибутов с помощью setattr
или подкласса SimpleNamespace
и создания вашей собственной функции для добавления новых имен атрибутов (переменных).
from types import SimpleNamespace
variables = {"b":"B","c":"C"}
a = SimpleNamespace(**v)
setattr(a,"g","G")
a.g = "G+"
something = a.a
Пути к шаблону могут быть найдены в классе ConfigProvider => __, вызывают метод, под 'шаблонами' => 'пути' или в getTemplates () метод. Там необходимо добавить новый путь:
/**
* Returns the templates configuration
*/
public function getTemplates(): array
{
return [
'paths' => [
'app' => [__DIR__ . '/../templates/app'],
'error' => [__DIR__ . '/../templates/error'],
'layout' => [__DIR__ . '/../templates/layout'],
'admin' => [__DIR__ . '/../templates/admin'],
],
];
}
затем Ваш обработчик должен выглядеть примерно так
public function handle(ServerRequestInterface $request) : ResponseInterface
{
$data = [
'admin' => 'layout::admin',
// or 'layout::admin',
// or 'layout::alternative',
];
$content = $this->template->render('admin::app/admin-page', $data);
return new HtmlResponse($content);
}