-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Description
When accessing any CP route that lists taxonomy terms (e.g. the taxonomy term listing), the following error occurs:
Error: Call to a member function route() on null
#0 /vendor/thoughtco/statamic-cache-tracker/src/Actions/ClearCache.php(48): Thoughtco\StatamicCacheTracker\Actions\ClearCache::{closure:Thoughtco\StatamicCacheTracker\Actions\ClearCache::visibleTo():48}
#1 /vendor/spatie/blink/src/Blink.php(306): Spatie\Blink\Blink::once
#2 /vendor/statamic/cms/src/Support/Blink.php(18): Statamic\Support\Blink::__call
#3 /vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(363): Illuminate\Support\Facades\Facade::__callStatic
#4 /vendor/thoughtco/statamic-cache-tracker/src/Actions/ClearCache.php(46): Thoughtco\StatamicCacheTracker\Actions\ClearCache::visibleTo
#5 /vendor/laravel/framework/src/Illuminate/Collections/HigherOrderCollectionProxy.php(66): Illuminate\Support\HigherOrderCollectionProxy::{closure:Illuminate\Support\HigherOrderCollectionProxy::__call():63}
#6 [internal](0): array_filter
#7 /vendor/laravel/framework/src/Illuminate/Collections/Arr.php(1240): Illuminate\Support\Arr::where
#8 /vendor/laravel/framework/src/Illuminate/Collections/Collection.php(415): Illuminate\Support\Collection::filter
#9 /vendor/laravel/framework/src/Illuminate/Collections/HigherOrderCollectionProxy.php(63): Illuminate\Support\HigherOrderCollectionProxy::__call
#10 /vendor/statamic/cms/src/Actions/ActionRepository.php(28): Statamic\Actions\ActionRepository::for
#11 /vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(363): Illuminate\Support\Facades\Facade::__callStatic
#12 /vendor/statamic/cms/src/Http/Resources/CP/Taxonomies/ListedTerm.php(48): Statamic\Http\Resources\CP\Taxonomies\ListedTerm::toArray
#13 /vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(139): Illuminate\Http\Resources\Json\JsonResource::toAttributes
#14 /vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(150): Illuminate\Http\Resources\Json\JsonResource::resolveResourceData
#15 /vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(114): Illuminate\Http\Resources\Json\JsonResource::resolve
#16 /vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(310): Illuminate\Http\Resources\Json\JsonResource::jsonSerialize
#17 [internal](0): json_encode
#18 /vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(87): Illuminate\Http\JsonResponse::setData
#19 /vendor/symfony/http-foundation/JsonResponse.php(49): Symfony\Component\HttpFoundation\JsonResponse::__construct
#20 /vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(31): Illuminate\Http\JsonResponse::__construct
[...]
- PHP 8.4.18
- Laravel 12.53.0
- Statamic 6.3.3
- Package 2.2.0
Here's what Claude had so say about this:
Root cause:
The visibleTo() method correctly checks for both Entry and Term instances on line 42:
if (! ($item instanceof Entry || $item instanceof Term)) {
return false;
}However, the logic on line 46-49 assumes the item is always an Entry:
return ! Blink::once(
'cache-action::'.$item->collectionHandle.'::'.$item->locale(),
fn () => is_null($item->collection()->route($item->locale()))
);Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels