Ich habe eine StaticRequestRoute
public function execute($eventObj, $className, $eventName, array &$parameters): void {
$route = new StaticRequestRoute();
$route->setStaticController('wcf', 'DiscordLink');
$route->setBuildSchema('/links/discord/');
$route->setPattern('~^/?(links/discord){1}~x');
$route->setMatchController(false);
$eventObj->addRoute($route);
}
in einem IParamizedEventListener hinzugefügt. Dieser funktioniert auch in so weit, dass ich beim Aufrufen von '.../links/discord/' die Site zum controller bekomme. Wenn ich nun aber versuche mit dem LinkHandler die URL zu bekommen, bekomme ich einen link zum Host
Ich habe die page.xml configuriert und zur package.xml hinzugefügt, das funktioniert.
<import>
<page identifier="xxx.LinkPage">
<pageType>system</pageType>
<controller>wcf\page\DiscordLinkPage</controller>
<controllerCustomURL>links-discord</controllerCustomURL>
<name language="de">xxx</name>
<hasFixedParent>1</hasFixedParent>
<parent>xxx</parent>
<permissions>xxx</permissions>
<excludeFromLandingPage>1</excludeFromLandingPage>
<content language="de">
<title>xxx</title>
</content>
</page>
</import>
Display More
Ich habe bereits geprüft, dass die StaticRequestRoute registriert und genutzt werden kann (StaticRequestRoute::canHandle() gibt 'true'), doch gibt StaticRequestRoute::buildLink()/buildRoute() einen leeren String. Die StaticRequestRoute ist auch übrings vor allen anderen routen registiert
Ich verstehe leider nicht wie es möglich sein sollen den Link zu dem Controller zu bekommen.
Ich freue mich über jede konstruktive Hilfe, Danke.