mcpField
H
hyva-render-media-image

hyva-render-media-image

github.com/hyva-themes开发851.3k 次安装13 周前更新
代码仓库

关于 hyva-render-media-image

用于在 Hyvä Theme 的 PHTML 模板中借助 `\Hyva\Theme\ViewModel\Media` 生成响应式图片标记的技能,帮助开发者配置图片来源、属性和加载方式。

主要功能

  1. 01生成响应式图片标记
  2. 02配置移动端和桌面端来源
  3. 03设置图片属性
  4. 04选择立即或延迟加载
  5. 05使用 Media 视图模型

适用场景

  1. 01在 Hyvä PHTML 模板中添加图片
  2. 02创建适配移动端和桌面的主视觉图
  3. 03设置首屏及非首屏图片的加载方式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hyva-themes/hyva-ai-tools --skill hyva-render-media-image

安装后在 Claude Code 中输入/hyva-render-media-image确认已加载。

附带文件references/rendering-images.md

详细介绍

Hyvä 渲染图像

使用 \Hyva\Theme\ViewModel\Media 视图模型,为 Hyvä Theme 模板生成响应式 <picture> 元素。

适用场景

  • 在 Hyvä PHTML 模板中添加图像
  • 创建针对移动端和桌面端使用不同来源的响应式图像
  • 实现主视觉横幅、产品图像或 CMS 内容图像
  • 针对 Core Web Vitals(LCP、CLS)优化图像

工作流

1. 收集图像需求

用户可能通过以下方式之一提供图像数据:

选项 A:直接提供值 - 向用户询问:

  1. 图像路径 - 位于 pub/media/ 中的位置(例如,wysiwyg/hero.jpg、catalog/product/...)
  2. 图像尺寸 - 宽度和高度(像素)
  3. 响应式需求 - 移动端和桌面端是否使用不同图像?
  4. 图像用途 - 主视觉/LCP 图像(立即加载)还是首屏以下图像(延迟加载)?
  5. 替代文本 - 有意义的无障碍描述

选项 B:PHP 变量 - 用户提供变量名(例如,$imageData、$heroImage)。告知用户所需的数组结构,详见 references/rendering-images.md 中的 ## Image Configuration Format。

2. 生成代码

查阅 references/rendering-images.md,获取完整的 API 参考、代码示例和所有配置选项。

选择合适的模式:

场景使用模式
单张图像,字面值单图像示例
来自变量的单张图像包装在数组中:[$imageData]
来自变量的多张图像直接传入:$images
移动端和桌面端使用不同图像使用媒体查询的响应式图像
需要为 <picture> 包装元素设置样式Picture 元素属性

基础模板:

<?php
/** @var \Hyva\Theme\ViewModel\Media $mediaViewModel */
$mediaViewModel = $viewModels->require(\Hyva\Theme\ViewModel\Media::class);

echo $mediaViewModel->getResponsivePictureHtml(
    $images,        // Array of image configs (see reference for format)
    $imgAttributes, // Optional: alt, class, loading, fetchpriority
    $pictureAttributes // Optional: class, data-* attributes for <picture>
);
3. 设置加载策略
图像类型属性
主视觉/LCP(首屏内)'loading' => 'eager', 'fetchpriority' => 'high'
首屏以下'loading' => 'lazy'

资源

  • references/rendering-images.md - 完整的 API 参考,包含方法签名、所有配置选项、代码示例和最佳实践

评论

支持 Markdown