Closed paperscissors closed 2 years ago
Attempting to upgrade my Nova 3 to Nova 4.10.1, getting this error when I try to look at the Pages resource page on Nova.
Putting this here for posterity because you need to create a new template in order for this to work, the Nova 3 templates won't work.
{ "message": "Call to a member function pathSuffix() on null", "exception": "Error", "file": "/Users/tomfilepp/work/ResultGroup/vendor/outl1ne/nova-page-manager/src/Nova/Resources/Page.php", "line": 142, "trace": [ { "file": "/Users/tomfilepp/work/ResultGroup/vendor/outl1ne/nova-page-manager/src/Nova/Resources/Page.php", "line": 66, "function": "getPathPrefixAndSuffix", "class": "Outl1ne\\PageManager\\Nova\\Resources\\Page", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/ResolvesFields.php", "line": 610, "function": "fields", "class": "Outl1ne\\PageManager\\Nova\\Resources\\Page", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/ResolvesFields.php", "line": 33, "function": "availableFields", "class": "Laravel\\Nova\\Resource", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/Resource.php", "line": 455, "function": "indexFields", "class": "Laravel\\Nova\\Resource", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Collections/HigherOrderCollectionProxy.php", "line": 60, "function": "serializeForIndex", "class": "Laravel\\Nova\\Resource", "type": "->" }, { "function": "Illuminate\\Support\\{closure}", "class": "Illuminate\\Support\\HigherOrderCollectionProxy", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Collections/Arr.php", "line": 560, "function": "array_map" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Collections/Collection.php", "line": 723, "function": "map", "class": "Illuminate\\Support\\Arr", "type": "::" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Collections/HigherOrderCollectionProxy.php", "line": 61, "function": "map", "class": "Illuminate\\Support\\Collection", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/Http/Resources/IndexViewResource.php", "line": 23, "function": "__call", "class": "Illuminate\\Support\\HigherOrderCollectionProxy", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/Http/Resources/Resource.php", "line": 41, "function": "toArray", "class": "Laravel\\Nova\\Http\\Resources\\IndexViewResource", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/Http/Controllers/ResourceIndexController.php", "line": 19, "function": "toResponse", "class": "Laravel\\Nova\\Http\\Resources\\Resource", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/Controller.php", "line": 54, "function": "__invoke", "class": "Laravel\\Nova\\Http\\Controllers\\ResourceIndexController", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php", "line": 45, "function": "callAction", "class": "Illuminate\\Routing\\Controller", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/Route.php", "line": 261, "function": "dispatch", "class": "Illuminate\\Routing\\ControllerDispatcher", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/Route.php", "line": 204, "function": "runController", "class": "Illuminate\\Routing\\Route", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 725, "function": "run", "class": "Illuminate\\Routing\\Route", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 141, "function": "Illuminate\\Routing\\{closure}", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/Http/Middleware/Authorize.php", "line": 18, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Laravel\\Nova\\Http\\Middleware\\Authorize", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/whitecube/nova-flexible-content/src/Http/Middleware/InterceptFlexibleAttributes.php", "line": 27, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Whitecube\\NovaFlexibleContent\\Http\\Middleware\\InterceptFlexibleAttributes", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/Http/Middleware/BootTools.php", "line": 20, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Laravel\\Nova\\Http\\Middleware\\BootTools", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/Http/Middleware/DispatchServingNovaEvent.php", "line": 24, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Laravel\\Nova\\Http\\Middleware\\DispatchServingNovaEvent", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/inertiajs/inertia-laravel/src/Middleware.php", "line": 88, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Inertia\\Middleware", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php", "line": 50, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php", "line": 44, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/Http/Middleware/Authenticate.php", "line": 31, "function": "handle", "class": "Illuminate\\Auth\\Middleware\\Authenticate", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Laravel\\Nova\\Http\\Middleware\\Authenticate", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php", "line": 78, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php", "line": 49, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\View\\Middleware\\ShareErrorsFromSession", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php", "line": 121, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php", "line": 64, "function": "handleStatefulRequest", "class": "Illuminate\\Session\\Middleware\\StartSession", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Session\\Middleware\\StartSession", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php", "line": 37, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php", "line": 67, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Cookie\\Middleware\\EncryptCookies", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 116, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 726, "function": "then", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 703, "function": "runRouteWithinStack", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 667, "function": "runRoute", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Routing/Router.php", "line": 656, "function": "dispatchToRoute", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php", "line": 167, "function": "dispatch", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 141, "function": "Illuminate\\Foundation\\Http\\{closure}", "class": "Illuminate\\Foundation\\Http\\Kernel", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/nova/src/Http/Middleware/ServeNova.php", "line": 23, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php", "line": 21, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php", "line": 31, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php", "line": 21, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php", "line": 40, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php", "line": 27, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php", "line": 86, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php", "line": 49, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Http\\Middleware\\HandleCors", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php", "line": 39, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 180, "function": "handle", "class": "Illuminate\\Http\\Middleware\\TrustProxies", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 116, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php", "line": 142, "function": "then", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php", "line": 111, "function": "sendRequestThroughRouter", "class": "Illuminate\\Foundation\\Http\\Kernel", "type": "->" }, { "file": "/Users/tomfilepp/work/ResultGroup/public/index.php", "line": 52, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Kernel", "type": "->" }, { "file": "/Users/tomfilepp/.composer/vendor/laravel/valet/server.php", "line": 234, "function": "require" } ] }
Yeah, the templates are completely different compared to Nova 3 version of the page manager.
Attempting to upgrade my Nova 3 to Nova 4.10.1, getting this error when I try to look at the Pages resource page on Nova.
Putting this here for posterity because you need to create a new template in order for this to work, the Nova 3 templates won't work.