CoolCMS API

OrderCustomerPickerTrait

Order customer picker: top-level field `userId`; `fieldMap` fills the `customer*` snapshot from {@see User}.

Follows CustomerPickerTrait with a wider mapping than the generic UserPickerTrait::userPicker(), which fills only the label and an optional e-mail. The snapshot stays editable after the choice (Order keeps its own customer* columns independent of the user, like Invoice); an anonymous or manual order without a user is legitimate (userId is nullable).

Table of Contents

Properties

$orderCustomerUserManager  : UserManager

Methods

orderCustomerPicker()  : PickerConfig
orderCustomerFieldMap()  : array<string, string>
orderCustomerLabel()  : string
orderCustomerPrefillData()  : array<string, string>
resolveOrderCustomerLabel()  : string|null
suggestOrderCustomers()  : array<int, array{id: int, label: string, data: array}>

Properties

Methods

orderCustomerPicker()

protected orderCustomerPicker([string $formName = 'editForm' ][, string $targetField = 'userId' ]) : PickerConfig
Parameters
$formName : string = 'editForm'
$targetField : string = 'userId'
Return values
PickerConfig

orderCustomerFieldMap()

private orderCustomerFieldMap() : array<string, string>
Return values
array<string, string> —

data key (see orderCustomerPrefillData()) mapped to the form field

orderCustomerPrefillData()

private orderCustomerPrefillData(User $user) : array<string, string>
Parameters
$user : User
Return values
array<string, string>

resolveOrderCustomerLabel()

private resolveOrderCustomerLabel(int $id) : string|null
Parameters
$id : int
Return values
string|null

suggestOrderCustomers()

private suggestOrderCustomers(string $query) : array<int, array{id: int, label: string, data: array}>
Parameters
$query : string
Return values
array<int, array{id: int, label: string, data: array}>
On this page

Search results