fix: #3616545 List real programs on the Home page instead of six static cards

Follow-up on #3616545, for the Home page programs section.

Problem

"Find the Program That Matches Your Ambition" was six hard-coded card-action-text cards. Decoded from the rendered Home page:

 1x  Computer Science & Artificial Intelligence
 2x  Business Administration & Management     <- the same card twice
 1x  Digital Media & Design
 1x  Engineering & Technology
 1x  Medicine & Health Sciences
 6x  "Develop expertise in software engineering, machine learning, cybersecurity..."

Six cards, five distinct titles, and the Computer Science description copy-pasted onto all six. Meanwhile the site ships 20 real Program nodes (Astrophysics, Bioengineering, Applied Mathematics, Economics, Classics, ...), none of which appeared. The titles were invented — none of them matches a real Program node.

Change

config/views.view.programs.yml — add a featured block display to the Programs view:

  • some pager, 6 items, no pager UI
  • own status + type filters (no exposed program-type/study-level filters, unlike the block_1 listing)
  • vartheme_bs5_educare:views-view-grid style at col-12 / col-md-6 / col-lg-4, so it keeps the original 3-across, 2-row grid
  • inherits the text_card_medium row and title sort from the default display

The display lives in the educare recipe, alongside views.view.programs itself. It deliberately does not go into varbase_news_base or a programs base recipe: Program is an Educare content type, and shipping its config from the news recipe would invert the dependency.

content/canvas_page/…fefadd5b….yml (Home) — replace the six cards with one block.views_block.programs-featured, and set the containing section from columns: 33-33-33 to columns: '100' so the full-width row lets the view's own grid render 3 across. The now-empty second section is removed. 25 components deleted, 1 added.

Testing

Fresh drush site:install of the recipe on a clean Varbase 11 build.

Before: 6 static cards, 1 duplicate title, 1 description reused 6 times, 0 program links. After: 6 distinct real programs — African and African American Studies, Anthropology, Applied Mathematics, Art/Film and Visual Studies, Astrophysics, Bioengineering — each linking to its own /programs/... node. 0 static titles, 0 duplicated descriptions.

Layout measured in-browser: container 1116px of a 1358px page, three 380px cards per row over 2 rows — the original grid preserved.

Regression sweep, all HTTP 200 with no page errors: /, /research, /admissions, /student-life, /anthropology, /programs, /news, /events, /about. drush watchdog:show reports no log messages.

Tag-based related listings were already in place and are unchanged: views.view.news related and views.view.events related both use the field_tags_target_id contextual filter (taxonomy_tid from the current node) plus nid to exclude the current node.

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
Loading