Hook: theme.view.data

Last updated on May 20, 2026 19:06

Overview

Type: Filter Location: All Frontend Controllers (PostController, PageController, HomeController, etc.)

Injects or modifies data passed to any theme Blade view. This is the most versatile frontend filter - it runs before every theme view is rendered.

Parameters

Param Type Description
$data array View data array
$viewName string View identifier (e.g. posts.index, home)

Return

Must return array - modified view data.

Usage Example

Hook::addFilter('theme.view.data', function (array $data, string $viewName) {
    if ($viewName === 'posts.index') {
        $data['popular_posts'] = Post::orderBy('views', 'desc')->limit(5)->get();
    }
    return $data;
});

Related Hooks