Routing in plugins like described here neos/Neos.Demo#190 (comment) is currently broken.
The EventSourcedFrontendNodeRoutePartHandler expects a NodeAdress instance and not a serialized string:
|
if (!$nodeAddress instanceof NodeAddress) { |
Fix:
if (!$nodeAddress instanceof NodeAddress) {
$nodeAddress = NodeAddressFactory::create($this->contentRepositoryRegistry->get($currentRequestSiteDetectionResult->contentRepositoryId))
->createFromUriString($nodeAddress);
}
But the real question is why was it a string in the first place? I fear because of this weird thing?
|
class NodeIdentityConverterAspect |
With this fix the Neos.Neos:Plugin works as described here neos/Neos.Demo#190
Things i tested in the controller (we should ad an behat test for each):
- forward (content of other action)
- throwStatus (500 will be upmerged and plugin will show text inside:
500 Internal Server Error
- redirect (uri will change)
- set arbitrary header
x-mhs: foobar
- build uri to another action (navigation)
- render fluid view
- render string
Routing in plugins like described here neos/Neos.Demo#190 (comment) is currently broken.
The
EventSourcedFrontendNodeRoutePartHandlerexpects aNodeAdressinstance and not a serialized string:neos-development-collection/Neos.Neos/Classes/FrontendRouting/EventSourcedFrontendNodeRoutePartHandler.php
Line 265 in a2dd063
Fix:
But the real question is why was it a string in the first place? I fear because of this weird thing?
neos-development-collection/Neos.Neos/Classes/Routing/NodeIdentityConverterAspect.php
Line 34 in 5f80a56
With this fix the
Neos.Neos:Pluginworks as described here neos/Neos.Demo#190Things i tested in the controller (we should ad an behat test for each):
500 Internal Server Errorx-mhs: foobar