Skip to content

v1.9.1 — ProFields deep rendering, dot-notation, thumbnail settings

Choose a tag to compare

@mxmsmnv mxmsmnv released this 25 Apr 05:50
· 12 commits to main since this release

1.9.1 — 2026-04-25

Added

  • Thumbnail size setting — Global Settings now has a Width × Height input (32–128 px) for preview thumbnails. Previously hardcoded to 32×32. Value stored in collections_global as thumb_width / thumb_height.
  • matrixTypeName() helper — safe internal method for reading the matrix type name from a RepeaterMatrixPage. Falls back to reading repeater_matrix_type integer from the field config when the matrix() hook method is unavailable in the current context.
  • matrixTypeN() helper — companion to matrixTypeName(), returns the matrix type integer index.
  • resolveRepeater() helper — normalises a Repeater field value that PW returns as an integer page ID into a RepeaterPageArray by loading the container page and calling ->children().
  • Matrix → Repeater → subfield path — dot-notation now resolves three-segment paths where the middle segment is a Repeater field on a Matrix item rather than a type name (e.g. media.property_photos.photos).
  • Combo Checkboxes array support in dot-notationrenderDotNotation now resolves array values (multi-select Checkboxes subfields) through resolveComboOptionLabel() and joins them with , .

Fixed

  • RepeaterMatrixPageArray intercepted by instanceof PageArrayFieldtypeRepeaterMatrix dispatch was placed after the generic PageArray check, so matrix fields were rendered as plain page-reference arrays. Matrix branch is now checked first.
  • matrix() hook not callablemethod_exists() and hasMethod() both fail for the matrix() hook method on RepeaterMatrixPage in the renderer context. Replaced with matrixTypeName() helper that catches exceptions and falls back to getUnformatted('repeater_matrix_type').
  • getUnformatted() on RepeaterMatrix returns raw IDsrenderCellValue() and renderDotNotation() now use $page->get() (formatted) for FieldtypeRepeaterMatrix and FieldtypeRepeater fields.
  • Pageimages cast to string showing filenamesrenderScalarOrObject() now uses fully-qualified \ProcessWire\Pageimage / \ProcessWire\Pageimages class names and adds an is_object() trap as final guard.
  • SelectableOptionArray rendering 1 instead of label — now explicitly dispatched to renderOptions() before the WireArray check.
  • Array to string warning from non-searchable ProField columns — all non-searchable types (FieldtypeTable, FieldtypeRepeaterMatrix, FieldtypeCombo, etc.) now excluded from buildSelector().

Changed

  • Sidebar group order — groups now render in fixed order: Content → Taxonomy → Custom. Applies to both the sidebar nav and the dashboard grid.
  • renderScalarOrObject() — all instanceof checks now use fully-qualified \ProcessWire\* class names.