Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing hyva compatibility #357

Merged
merged 1 commit into from
Nov 18, 2024

Conversation

ogomezba
Copy link
Contributor

Notas de la solución:

  • Tal y como se explica aquí, el tema hyva añado unos layout handle específico por cada layout normal configurado. Por lo tanto, es posible tener un layout que se utilice únicamente cuando estemos en un tema hyva añadiendo al nombre del layout el prefijo hyva_. Con esto y usando la opción de remove de los layouts, conseguimos renderizar únicamente el script correspondiente en función de si está instalado o no el tema hyva.
  • Respecto al cambio en AddToCart.php, hasta el momento, únicamente devolvíamos un JSON en el caso de que se intentara añadir una variante. Para el caso de añadir un producto normal, no devolvíamos un JSON. Esto no es un problema cuando se usaba jQuery por cómo es la API ajax() de jQuery pero sí lo es cuando usamos fetch() y json() para procesar la respuesta. Por esto, se unifica lo que devolvemos para siempre devolver un JSON.

@ogomezba ogomezba force-pushed the ogomezba/dooplugins/801/camptibilidad-con-hyva branch from 9c51eed to d89c34e Compare November 14, 2024 13:04
@ogomezba ogomezba self-assigned this Nov 14, 2024
@ogomezba ogomezba marked this pull request as ready for review November 14, 2024 13:05
Copy link
Contributor

@davidmolinacano davidmolinacano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just review a small comment. Everything else LGTM, excellent job!! 💪

@@ -1,6 +1,6 @@
{
"name": "doofinder/doofinder-magento2",
"version": "0.14.13",
"version": "1.0.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think that this PR contains breaking changes to a degree that you have to declare it as a major version change? 😱

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jaja, realmente no debería haber ningún breaking change, solamente "fixing" changes. Era porque estaba comentando con @sofia-doofinder que en algún momento podríamos poner la 1.0.0 y habíamos comentado que quizá era un bueno momento.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yo me esperaría a una más grande, pero bueno, como el código funciona lo apruebo 😄

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<!-- For hyva themes, jQuery can't be used among other modifications.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent approach!! 🏆

@@ -0,0 +1,21 @@
<?xml version="1.0"?>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ogomezba una pregunta, esto así se importa sólo cuando se detecta que existe el tema hyva?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hola @sofia-doofinder ! Sí, justo lo comentaba en la descripción del PR. Según comentan en la documentación de hyva aquí, una de las cosas que hace el tema es crear layout handles por cada uno de los que ya se tengan pero añadiendo el hyva_ delante. Aunque mi conocimiento de los detalles de Magento es el que es, por lo que he entendido, los handles vienen a ser los layout.xml que se usan y se calculan matcheando la ruta con el nombre del archivo layout (excepto el default que parece que afecta a todos). Entonces, como se matchea por nombre, al llamarse el archivo hyva_default.xml, en temas normales no va a matchear nada por lo que no se carga. No obstante, el tema hyva parece que modifica este comportamiento y matchea también "hyva_lo_que_toque_por_ruta.xml". Entonces, para temas hyva sí que se añade.

De todas formas, he probado este comportamiento en la tienda del cliente con hyva y en mi tienda local sin hyva y he visto que se comportaba así.

image

image

@ogomezba ogomezba force-pushed the ogomezba/dooplugins/801/camptibilidad-con-hyva branch from d89c34e to 0909038 Compare November 14, 2024 13:51
Copy link
Member

@sofia-doofinder sofia-doofinder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great! 🚀

@ogomezba ogomezba merged commit 3ff6250 into master Nov 18, 2024
1 check passed
@ogomezba ogomezba deleted the ogomezba/dooplugins/801/camptibilidad-con-hyva branch November 18, 2024 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants