Skip to main content
Choose the smallest set of surfaces and behaviors that matches your extension. These recipes combine the documented APIs; they do not introduce another build system or configuration format.
Generate a family, replace the default child schema with actual FLEX fields, and store an object in a JSON attribute. Use child validation and reject unknown keys in your parent value contract. Share parent display CSS across the column and entry. Follow quickstart, then full child PHP configuration.
Declare a Select child slot, render it through ChildRenderer, then configure the returned Select with its real relationship() and query callbacks in trusted PHP. Preserve the child instance and native model context. Use typed JSON options for portable choices such as size or limits; do not serialize relation closures. Follow Select composition and custom child factories.
Declare a semantic family with three independent identities. Put common CSS under a primitive display owner and reference it through stylesFrom. Add JS only to the field. Call the same escaped value formatter from the two display templates. Follow family contracts and columns and entries.
Declare an optional capability and a lazy module. Enable it for the rendered instance that actually supports editing. Place controls inside a prepared custom surface and own all listeners and workers with that surface or factory. Follow asset ownership, build and custom surfaces.
Add a FamilySchemaContract with typed configuration and a trusted adapter. Use the family builders to render each supported surface. Validate writes through an explicit save policy and persist versioned snapshots for future migrations. Follow schema adapters, submission and migrations.
Register structural metadata once at provider boot. Supply request-local owner, user, tenant, locale and defaults through FamilyRenderContext. Give independent rendered instances distinct identities. Keep configuration values and record state outside process-lived registration metadata. See schema context reference.
Last modified on October 17, 2026