मेरे द्वारा वर्तमान में विकसित किए जा रहे एक मॉड्यूल का लक्ष्य एक कस्टम छवि प्रकार को जोड़ना है जिसे "opengraph_image" कहा जाता है। मैंने एक नई EAV विशेषता जोड़ी, हालांकि मेरी InstallData.php स्क्रिप्ट जो ठीक काम करती है। जब मैं अब Magento2 बैकएंड में लॉगिन करता हूं और किसी उत्पाद में बदलाव करता हूं, तो मैं उत्पाद छवियों को अपलोड या संपादित करते समय छवि प्रकार "opengraph_image" चुन सकता हूं।
हालाँकि, इस दृश्य पर मैं इस छवि को प्रदर्शित करना चाहूंगा। इसलिए मैंने निम्नलिखित सामग्री के साथ अपने मॉड्यूल में एक etc / view.xml फ़ाइल बनाई:
<?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>
लेकिन अब मुझे निम्नलिखित त्रुटि मिलती है:
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
इसका कारण यह है app/code/Esites/SEO/etc/custom.xsd
कि मैं अपने custom.xsd को इसमें लोड नहीं करता हूँ: जहाँ मैं opengraph_image को परिभाषित करता हूँ। इसके बजाय यह सिर्फ डिफ़ॉल्ट XSD फ़ाइल को लोड करने के लिए लगता है:vendor/magento/framework/Config/etc/view.xsd
मेरे custom.xsd की सामग्री इस मूल view.xsd की एक प्रति (परीक्षण के प्रयोजनों के लिए) है जहाँ मैंने लाइन 75 पर निम्न जोड़ा है:
<xs:enumeration value="opengraph_image"/>
यदि मैं मूल view.xsd फ़ाइल में ऊपर की पंक्ति शामिल करता हूं, तो दृश्यपटल त्रुटियों के बिना काम करता है। मैंने प्रलेखन का पालन किया: http://devdocs.magento.com/guides/v2.0/extension-dev-guide/build/XSD-XML-validation.html और मेरे पथ उस पृष्ठ पर जानकारी के अनुसार निर्मित हैं। कई बार कैश साफ किया जाता है।
मुझे किसकी याद आ रही है?
module="Magento_Catalog"
कीmodule="Esites_SEO"
?