Tutorial de extensión de clasificaciones
Este tutorial lo guiará a través del proceso de creación de una extensión de clasificaciones de productos para Adobe Commerce as a Cloud Service mediante Adobe App Builder y las herramientas de desarrollo asistido por IA.
Antes de empezar, complete requisitos previos.
Comprobar requisitos previos
Compruebe que están instalados los siguientes requisitos previos:
# Check Node.js version (should be 22.x.x)
node --version
# Check npm version (should be 9.0.0 or higher)
npm --version
# Check Git installation
git --version
# Check Bash shell installation
bash --version
Si alguno de los comandos anteriores no devuelve los resultados esperados, consulte los requisitos previos para obtener instrucciones.
Desarrollo de extensiones
Esta sección le guía a través del desarrollo de una extensión de clasificación para Adobe Commerce as a Cloud Service mediante herramientas de desarrollo asistido por IA.
-
Vaya a Cursor > Settings > Cursor Settings > Tools & MCP y compruebe que el conjunto de herramientas
commerce-extensibilityesté habilitado sin errores. Si hay errores, active o desactive el conjunto de herramientas. {width="600" modal="regular"}
note note NOTE Cuando trabaje con herramientas de desarrollo asistido por IA, espere variaciones naturales en el código y las respuestas generadas por el agente.
Si tiene algún problema con el código, siempre puede pedir al agente que le ayude a depurarlo. -
Deshabilite cualquier documentación en el contexto del cursor:
- Vaya a Cursor > Settings > Cursor Settings > Indexing & Docs y elimine cualquier documentación enumerada.
{width="600" modal="regular"}
-
Genere un código para una extensión de clasificación de productos:
- En la ventana Cursor chat, seleccione el modo Agent.
- Introduzca la siguiente solicitud:
code language-shell-session Implement an Adobe Commerce as a Cloud Service extension to handle Product Ratings. Implement a REST API to handle GET ratings requests. GET requests will have to support the following query parameters: sku -> product SKUnote note NOTE Si el agente solicita buscar en la documentación, permita. -
Responda las preguntas del agente con precisión para ayudarle a generar el mejor código.
{width="600" modal="regular"}
{width="600" modal="regular"}
-
Utilice el siguiente texto de ejemplo para responder a las preguntas del agente con el fin de configurar datos de clasificación aleatorios:
code language-shell-session Yes, this headless extension is for Adobe Commerce as a Cloud Service storefront, but we do not need any authentication for the GET API because guest users should be able to use it on the storefront. This extension is called directly from the storefront, no async invocation, such as events or webhooks, is required. Start with just the GET API for now, we will implement other CRUD operations at a later time. We do not need a DB or storage mechanism right now, just return random ratings data between 1 and 5 and a ratings count between 1 and 1000. The API should only return the average rating for the product and the total number of ratings. We do not need to add tests right now.El agente crea un archivo de
requirements.mdque sirve como origen de la verdad para la implementación. {width="600" modal="regular"}
-
Revise el archivo
requirements.mdy compruebe el plan.Si todo parece correcto, indique al agente que pase a Phase 2 - Architecture Planning.
-
Revise el plan de arquitectura.
-
Indique al agente que continúe con la generación de código.
El agente genera el código necesario y proporciona un resumen detallado de los pasos siguientes.
{width="600" modal="regular"}
{width="600" modal="regular"}
{width="600" modal="regular"}
Prueba de la extensión localmente
Los siguientes pasos explican cómo comprobar el funcionamiento de la extensión antes de implementarla.
-
Pida al agente que le ayude a probar el código localmente.
code language-shell-session Test the ratings API locally on a dev server using cURL. -
Siga las instrucciones del agente y confirme que la API funciona localmente.
{width="600" modal="regular"}
{width="600" modal="regular"}
Implementación de la extensión
Despliegue la extensión en Adobe I/O Runtime mediante el agente.
-
Después de verificar el código generado, implemente la extensión mediante el siguiente mensaje:
code language-shell-session Deploy the ratings API.El agente realiza una evaluación de la preparación previa al despliegue antes de este.
{width="600" modal="regular"}
-
Cuando confíe en los resultados de la evaluación, indique al agente que continúe con el despliegue.
El agente utiliza el kit de herramientas de MCP para verificar, crear e implementar automáticamente.
{width="600" modal="regular"}
Verificar la implementación
Pruebe la API antes de integrarla en la tienda. El agente debe proporcionar la ubicación de la nueva acción y una estrategia de prueba.
También puede probar la API manualmente utilizando cURL en un terminal:
curl -s "https://<your-site>.adobeioruntime.net/api/v1/web/ratings/ratings?sku=TEST-SKU-123"
Integración con Edge Delivery Services
Para integrar la API de clasificaciones con una tienda Adobe Commerce con tecnología Edge Delivery Services, pídale al agente que cree un contrato de servicio con los requisitos para la API de clasificaciones:
Create a service contract for the ratings api that I can pass on to the storefront agent. Name it RATINGS_API_CONTRACT.md
{width="600" modal="regular"}
Vuelva al terminal y ejecute el siguiente comando en la carpeta extension para copiar el archivo de contrato en la carpeta storefront:
cp RATINGS_API_CONTRACT.md ../storefront
Conectar con la tienda
Esta sección le guiará a través de la implementación de la parte de tienda de la extensión de clasificaciones mediante Edge Delivery Services y las herramientas de desarrollo asistido por IA.
Requisitos previos de Storefront
Antes de iniciar la integración de tienda, comprueba que tienes lo siguiente:
- Un proyecto de tienda conectado a su instancia Commerce
- Herramientas de IA de tienda de Commerce instaladas con CLI
Configurar el espacio de trabajo de la tienda
Prepare su entorno de tienda local para el desarrollo.
-
Vaya a la carpeta
storefront:code language-bash cd storefront -
Abra la carpeta de la tienda en una nueva ventana Cursor.
Alternativamente, si tiene instalado el CLI de cursor, abra la ventana usando el siguiente comando en su terminal:
code language-bash cursor . -
Inicie el servidor de desarrollo local:
code language-bash npm run start -
En un explorador, vaya a una página de producto:
code language-shell-session http://localhost:3000/products/llama-plush-shortie/adb336 -
Observe la página de detalles del producto (PDP) de la tienda de plantillas y observe la falta de clasificaciones visuales del producto.
Integración de la API de clasificaciones
Utilice el agente para integrar la API de clasificaciones en la página de detalles del producto de la tienda.
-
Utilice el siguiente mensaje con su agente:
code language-shell-session Integrate the ratings API into the PDP to show star ratings and a review count for products. Here's the service contract: @RATINGS_API_CONTRACT.md -
El agente evalúa la complejidad de la tarea e invoca un flujo de trabajo por fases. Durante la fase 1 (recopilación de requisitos), el agente crea un documento de requisitos y hace preguntas que aclaran cuestiones como las siguientes:
- ¿En qué punto del PDP deben aparecer las clasificaciones?
- ¿Debería ser un nuevo bloque independiente o una personalización de ranura dentro del componente desplegable PDP existente?
- ¿Cuál debería ser la reserva si la API no está disponible o no devuelve datos?
- ¿Las clasificaciones también deben aparecer en el PLP (lista de productos) o solo en el PDP?
- ¿Hay especificaciones de diseño o maquetas?
Responda estas preguntas en función de los requisitos de su proyecto. El agente actualiza el documento de requisitos y marca la fase como completada.
-
Durante la Fase 2 (Planificación arquitectónica), el agente investiga la documentación y el código base antes de proponer una arquitectura. Se espera que el agente:
- Busque en la documentación de Commerce contenedores de PDP, ranuras y cargas útiles de eventos.
- Analice el directorio
blocksy la carpetascripts/initializers/en busca de código relacionado con PDP existente. - Explore las definiciones de TypeScript para los contenedores disponibles y las formas de contexto de ranura.
A continuación, el agente presenta opciones de arquitectura como:
- Opción A: Personalice una ranura desplegable de PDP existente para insertar clasificaciones cerca del título del producto, un toque más ligero que sea fácil de actualizar.
- Opción B: Cree un nuevo bloque
product-ratingsindependiente que obtenga de la API de forma independiente, más flexible y desunido. - Opción C: Cree un nuevo bloque que también escuche eventos de PDP para el SKU del producto, un enfoque híbrido.
El plan también incluye detalles sobre la integración de la API, consideraciones de rendimiento (carga diferida, almacenamiento en caché), seguridad (saneamiento de la entrada) y un enfoque de prueba.
Revise el plan de arquitectura e indique al agente que continúe.
-
Durante la Fase 3 (Enfoque de implementación), el agente le pedirá que elija entre:
- Opción A: Revise un plan de implementación detallado antes de la generación de código (vea primero todos los archivos, patrones y estructura de código).
- Opción B: Continúe directamente con la generación de código.
Seleccione el método que prefiera.
-
Durante la fase 4 (implementación), el agente genera código basado en la arquitectura elegida. Según el enfoque, el agente utiliza varias habilidades especializadas:
- Modelado de contenido: Si se necesita un nuevo bloque, el agente diseña una estructura de contenido compatible con el autor, como una tabla de configuración con la dirección URL del extremo de API.
- Desarrollo de bloques: El agente crea archivos de bloque siguiendo las convenciones de Edge Delivery Services, incluidas las funciones decorativas de JavaScript, los estilos CSS con ámbito, las etiquetas ARIA para accesibilidad y la administración de estados de carga y error.
- Personalización de inclusión: Si la arquitectura usa la personalización de ranura, el agente importa el contenedor correcto, usa una ranura verificada cerca del título del producto y se suscribe a los eventos de datos del producto para el SKU actual.
Observe el código que se está generando y haga preguntas o redirija el agente según sea necesario. El agente produce un resumen de preparación para la producción cuando finaliza la generación de código.
-
Durante la fase 4.5 (Pruebas), el agente ofrece probar la implementación. Si acepta, el agente:
- Crea una página de prueba local con los scripts y estilos adecuados.
- Inicia un servidor de desarrollo.
- Ejecuta la verificación basada en el explorador para el procesamiento visual, la interactividad, el comportamiento interactivo, la accesibilidad y el rendimiento.
- Genera un informe de prueba estructurado con los resultados.
Siga los pasos del explorador para confirmar el comportamiento e informar de cualquier problema.
-
Observe los cambios en la base de código y observe la página de producto para ver las actualizaciones.
Debería ver los siguientes cambios en su entorno de desarrollo y explorador:
- Se crea automáticamente un componente de clasificación de productos.
- El componente está integrado en el PDP mediante ranuras de colocación o como bloque independiente, según la arquitectura elegida.
- Las estrellas se muestran con las proporciones de relleno adecuadas en función de los valores de clasificación de la API.
{width="600" modal="regular"}
Resumen del tutorial
A continuación se muestra un resumen de los temas tratados en este tutorial:
- Desarrollo de extensiones: Aprenda a describir la nueva funcionalidad a un agente de IA y a generar una API de REST en funcionamiento mediante App Builder.
- Pruebas e implementación locales: Prueba de la API localmente e implementación mediante el kit de herramientas de MCP.
- Contratos de servicio: Creación de contratos de API que vinculan extensiones backend e implementaciones de tienda.
- Integración de tienda por fases: Trabajando con los requisitos, la arquitectura y la implementación con habilidades asistidas por IA.
- Integración de inclusión: Uso de Adobe Commerce contenedores y ranuras de inclusión.
- Reutilización de componentes: Creación de componentes compartidos usados en varios bloques.
Pasos siguientes
Utilice las siguientes sugerencias para personalizar la extensión de clasificación o crear sus propias modificaciones:
Cambiar los colores de las estrellas
Utilice el siguiente mensaje con su agente:
Change the star fill color to red.
Resultado esperado:
Las estrellas cambian a rojo.
Agregar un modal de distribución de clasificación
Los siguientes pasos muestran cómo gestiona el agente las funciones complejas de la interfaz de usuario con referencias visuales.
-
Antes de comenzar: Guarde la siguiente imagen ficticia y péguela en el chat con su agente de tienda.
{width="600" modal="regular"}
-
Siga estos pasos para crear el modal de distribución de clasificaciones utilizando la imagen de referencia como guía:
- Actualice la API para devolver datos adicionales que representen la distribución de clasificación.
- Actualice el contrato de API.
- Actualice el contrato en la base de código de la tienda.
- Pida al agente de tienda que utilice la imagen de referencia y el contrato de API actualizado para añadir la distribución de clasificaciones a la página PDP.
-
Observe los siguientes cambios en la base de código y observe la página de producto para ver las actualizaciones:
- Cómo interpreta el agente la maqueta visual
- Si utiliza la estructura de HTML adecuada para la accesibilidad
- Cómo gestiona los estados de posicionamiento e interacción
Solucionar problemas del modal de distribución
Si el modal no se comporta como se espera, intente lo siguiente:
-
Si el modal no aparece, compruebe si hay errores en la consola del explorador.
-
Si el posicionamiento está desactivado, pídale al agente que lo arregle con el siguiente formato:
code language-shell-session adjust the modal position to be...