El objetivo de un módulo que estoy desarrollando actualmente es agregar un tipo de imagen personalizada llamada "opengraph_image". Agregué un nuevo atributo EAV a través de mi script InstallData.php que funciona bien. Cuando ahora inicio sesión en el backend de Magento2 y modifico un producto, puedo elegir el tipo de imagen "opengraph_image" al cargar o editar imágenes del producto.
Sin embargo, en la interfaz me gustaría mostrar esta imagen. Por lo tanto, creé un archivo etc / view.xml en mi módulo con el siguiente contenido:
<?xml version="1.0"?>
<view xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Esites_SEO:etc/custom.xsd">
<media>
<images module="Magento_Catalog">
<image id="opengraph_image" type="opengraph_image">
<width>265</width>
<height>265</height>
</image>
</images>
</media>
</view>
Pero ahora me sale el siguiente error:
Invalid XML in file /var/www/html/vhosts/magento2/app/code/Esites/SEO/etc/view.xml:
Element 'image', attribute 'type': [facet 'enumeration'] The value 'opengraph_image' is not an element of the set {'thumbnail', 'small_image', 'image', 'swatch_image', 'swatch_thumb'}.
Line: 5
Element 'image', attribute 'type': 'opengraph_image' is not a valid value of the local atomic type.
Line: 5
La razón es que no parece cargar mi custom.xsd ubicado en: app/code/Esites/SEO/etc/custom.xsd
donde defino opengraph_image. En cambio, parece cargar su archivo XSD predeterminado:vendor/magento/framework/Config/etc/view.xsd
El contenido de mi custom.xsd es una copia (para fines de prueba) de este view.xsd original donde agregué lo siguiente en la línea 75:
<xs:enumeration value="opengraph_image"/>
La interfaz funciona sin errores si incluyo la línea anterior en el archivo view.xsd original. Seguí la documentación en: http://devdocs.magento.com/guides/v2.0/extension-dev-guide/build/XSD-XML-validation.html y mis rutas se compilan de acuerdo con la información de esa página. La memoria caché se borra varias veces.
¿Qué me estoy perdiendo?
module="Magento_Catalog"
amodule="Esites_SEO"
?