BreadcrumbFactory implements LoggerAwareInterface uses LoggerAwareTrait

FinalYes

Factory for creating breadcrumb contexts from controller actions.

This factory centralizes the logic for determining what context to show in breadcrumbs based on different controller actions (edit, new, list, etc.).

It handles:

  • Record lookups and validation
  • Creation of "new record" breadcrumb nodes
  • Multi-record edit scenarios
  • Parent record resolution
Internal

Subject to change until v15 LTS

Attributes
#[Autoconfigure]
$public: true

Table of Contents

Interfaces

LoggerAwareInterface

Methods

__construct()  : mixed
forEditAction()  : BreadcrumbContext
Creates breadcrumb context for editing an existing record.
forEditMultipleAction()  : BreadcrumbContext
Creates breadcrumb context for editing multiple records.
forNewAction()  : BreadcrumbContext
Creates breadcrumb context for creating a new record.
forPageArray()  : BreadcrumbContext
Creates breadcrumb context from a page record array.
forResource()  : BreadcrumbContext
Creates breadcrumb context for any resource (file or folder).

Methods

forEditAction()

Creates breadcrumb context for editing an existing record.

public forEditAction(string $table, int $uid) : BreadcrumbContext
Parameters
$table : string

The table name

$uid : int

The record UID

Return values
BreadcrumbContext

Context containing the record or null on failure

forEditMultipleAction()

Creates breadcrumb context for editing multiple records.

public forEditMultipleAction(string $table, int $pid) : BreadcrumbContext

Shows a generic "Edit Multiple [RecordType]" node instead of individual records.

Parameters
$table : string

The table name

$pid : int

The parent page ID

Return values
BreadcrumbContext

Context with parent page and "edit multiple" suffix node

forNewAction()

Creates breadcrumb context for creating a new record.

public forNewAction(string $table, int $pid[, array<string|int, mixed> $defaults = [] ]) : BreadcrumbContext
Parameters
$table : string

The table name

$pid : int

The parent page ID

$defaults : array<string|int, mixed> = []

Default values for the new record (used for icon overlay)

Return values
BreadcrumbContext

Context with parent page and "create new" suffix node

forPageArray()

Creates breadcrumb context from a page record array.

public forPageArray(array<string|int, mixed> $pageRecord) : BreadcrumbContext

This is the most common migration path from DocHeaderComponent::setMetaInformation().

Example migration: Before: $view->getDocHeaderComponent()->setMetaInformation($pageInfo); After: $view->getDocHeaderComponent()->setBreadcrumbContext($this->breadcrumbFactory->forPageArray($pageInfo));

Parameters
$pageRecord : array<string|int, mixed>

The page record array (must contain 'uid')

Return values
BreadcrumbContext

Context with the page record or null on failure


        
On this page

Search results