v0.24.1
Latest release30 October 2026
Virtual pages served from a source page, page-numbered children, and a paginated admin tree.
Added
- A view with
"virtual": truemarks pages that come from a source page and never enter the registry.Page::virtual($name, $data)builds one under its source, with the overlay folder at its URL (if any) laid over the data. The firstsave()creates that overlay folder, keeping the page's uuid. App::resolve($uri)finds a stored page, or asks the parent throughchild()when its view sets"children": {"source": true}.relationandpagesfields accept a path to a virtual page in place of a uuid. A virtual page owns its files for the request throughPageFiles::own().Query::parse($query)reads the query DSL into plain data, so a source page can map it onto an API's own filters.RecordCollection::total()counts every record the query matches, ignoringlimitandoffset.Page::paginate($query, $limit),Page::pageCount()andPage::pageLimit()slice children by?page=N. The size comes frompagination.limitin the view's config or the app's (default 20); 0 turns it off.- The admin tree pages long child lists with previous, next and a page jump field.
treeLimitin thephlat/adminaddon config sets the size (default 12).
Changed
- Admin fields start collapsed. A field's
openoption defaults toclosed; set"open": "open"to start it expanded. - The admin page actions moved from the editor footer into the statusbar.
phlat registry:checkskips the overlay folders of virtual pages.