fix: #3617241 Give the search results page a heading and one result per row

Follows on from the search index view modes already merged for #3617241. Config only, one file: recipe.yml.

Verified on a fresh Varbase 11 install, searching Varbase at /search?keywords=Varbase. The query itself was already correct (17 matches, 10 rows, proper empty state). The presentation was not.

What changes

Problem Change
No <h1> on the results page A view header area renders the page heading. Not a page title block, so Canvas pages keep the single <h1> they render themselves.
Every row rendered an empty heading The index holds nodes and Canvas pages, so the view ships one title field per entity type and fills only one. Both are carried as sources (exclude: true) and one linked heading is built from {{ title }}{{ title_1 }}.
Result headings at the display h2 step (2.625rem) Semantic <h2> carrying the design system h4 step (1.25rem).
No description styling, no read more Excerpt as <p> with text-subtle-text, plus a Read more link built from search_api_url.

Deliberately not changed

display.page.display_options.exposed_block is left at true. Flipping it to false does put the search box inline on the results page, but it also removes the views_exposed_filter_block:search-page plugin that canvas.page_region.vartheme_bs5.header points at via component UUID 64cc6d33-c24c-45be-a52b-1deb85fcab0b, which renders "This block is broken or missing" on every page. Confirmed by testing, then reverted. Putting a search box on the results page belongs to Canvas page management, not to that flag.

No vartheme_bs5 template or CSS change is needed: this uses only classes the theme already ships (h4, text-subtle-text). Class hooks with no CSS behind them were deliberately left out rather than shipped dead. Bespoke search-result styling would be a Vartheme BS5 change and belongs in its own issue there.

AI-Generated: Yes

Checkpoints:

  • File an issue
  • Addition/Change/Update/Fix
  • Testing to ensure no regression
  • Automated unit testing coverage
  • Automated functional testing coverage
  • UX/UI designer responsibilities
  • Readability
  • Accessibility
  • Performance
  • Security
  • Developer Documentation
  • User Guide Documentation
  • Reviewed by human
  • Code review by maintainers
  • Full testing and approval
  • Credit contributors
  • Review with the product owner
  • Release notes snippet
  • Release
Edited by Rajab Natshah

Merge request reports

Loading