Hyvä: Guides and Practical Know-how | Page 10 | mironsoft Blog
Hyvä
-
Feb 17, 2025
A Hyvä update that suddenly changes the structure of the mini-cart component hits projects especially hard when the core has been copied directly in several places instead of overridden through the fallback system. This article shows how to reliably spot breaking changes in Hyvä releases, why the fallback principle structurally separates custom code from parent updates, and what testing strategy actually provides safety before a Hyvä major update.
-
Feb 17, 2025
Hyvä's default search box only jumps to the results page once you press Enter, showing no suggestions while you type. Live Search autocomplete in the Hyvä header closes exactly that gap: a GraphQL suggestion query returns products, categories, and prices, a lean Alpine.js component handles debouncing, request cancellation, and keyboard navigation, and CSP-compliant rendering keeps the shop safe and fast at the same time.
-
Feb 9, 2025
Anyone who still ships product images and CMS assets only as JPEG or PNG is giving away load time and Core Web Vitals points on every page view. An automated WebP conversion in the build and deploy process generates a much smaller WebP variant for every image, serves it through the picture element with a clean fallback, and integrates fully into an existing Hyvä deploy sequence without ever putting the storefront at risk if a conversion fails.
-
Feb 4, 2025
Custom Hyvä Page Builder content types are not built with Knockout widgets, they are rendered server side with phtml and Tailwind classes, plus targeted Alpine.js interactivity. This guide covers registration, rendering architecture and performance patterns with real code examples.
-
Jan 31, 2025
A skeleton screen replaces an empty white area with a rough preview of the coming content, making the wait feel shorter than it actually is. In a Hyva context with its GraphQL-heavy content loading, that is a powerful but easily misused tool that needs to be clearly distinguished from a classic spinner.
-
Jan 30, 2025
A working hot reload loop decides in daily Hyvä work whether a layout change becomes visible within seconds or only after a manual deploy cycle. The Hyvä watcher runs in the background of the Docker container, watches phtml, CSS and JS files through a bind mount, and automatically triggers a Tailwind rebuild plus regeneration of the view_preprocessed directory on every change, without setup:static-content:deploy. Anyone who understands the mechanics behind it, sets the correct inotify limits and can check the watcher status cleanly saves hours every day compared to the classic production build cycle.
-
Jan 29, 2025
Anyone who runs layered navigation on nothing but the default Magento_LayeredNavigation templates gives up performance, accessibility, and conversion potential in the sidebar filter. A dedicated view model per filter type, an Alpine.js price slider, and a mobile filter drawer make layered navigation in the Hyvä theme fast, accessible, and SEO clean at the same time.
-
Jan 23, 2025
Anyone extending the product detail page in the Hyvä theme should reach for layout XML, ViewModels, and Alpine.js components, not Fotorama plugins or Knockout templates. This guide uses concrete code examples to show how gallery, tabs, and custom attributes fit cleanly into the existing Hyvä block system, including GraphQL integration, performance optimization, and a CSP-compliant deploy sequence.
-
Jan 21, 2025
Hyva established Alpine.js as the primary JavaScript tool in the Magento frontend. Anyone who uses Alpine.js without clear patterns ends up with components that are hard to test, hard to maintain and a risk to performance. This article covers the most important proven patterns and the most common mistakes when using Alpine.js in Hyva themes.
-
Jan 20, 2025
Anyone showing different prices per customer group has to think about full page cache, GraphQL context and private content together. Otherwise a guest suddenly sees another customer's B2B net price because a cached page preserved the wrong figure.