From 89fada59c89aa4ce6501718bca638939e4e7dc6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Thu, 7 Oct 2021 11:04:33 +0200 Subject: [PATCH] #372 - Optional attribute path on router:fromPath to replace current virtual url. --- src/app/scripts/php/libs/Router.class.php | 8 ++++++-- src/app/scripts/php/libs/Router.xml | 10 +++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/app/scripts/php/libs/Router.class.php b/src/app/scripts/php/libs/Router.class.php index 59777356..9cac9bbd 100644 --- a/src/app/scripts/php/libs/Router.class.php +++ b/src/app/scripts/php/libs/Router.class.php @@ -45,8 +45,12 @@ private function isPathMatched($currentPath, $path) { return strcasecmp($currentPath, $parsed) == 0; } - public function fromPath($template) { - $virtualUrl = parent::web()->getVirtualUrl(); + public function fromPath($template, $path = "x-invalid.path-x") { + if ($path != "x-invalid.path-x") { + $virtualUrl = trim($path, "/"); + } else { + $virtualUrl = parent::web()->getVirtualUrl(); + } $this->virtualUrlParts = StringUtils::explode($virtualUrl, '/'); $this->virtualUrlPartsIndex = 0; $this->canMatch = true; diff --git a/src/app/scripts/php/libs/Router.xml b/src/app/scripts/php/libs/Router.xml index 7fd35c19..544601ed 100644 --- a/src/app/scripts/php/libs/Router.xml +++ b/src/app/scripts/php/libs/Router.xml @@ -7,8 +7,16 @@ fromPath fromPath + + path + string + x-invalid.path-x + URL, která se má vyhodnotit. + - Router... + Router založený na path části URL. + Standartně router pracuje s aktuální path. + Pomocí atributu "path" je možné přesvědčit router, že má použít tuto místo aktuální.