पिक्चर सोर्स म्हणजे मध्ये काम करत नाही. आवश्यक, पर्यायी आणि अस्वीकार्य घटक. फीड प्रमाणीकरण कसे कार्य करते?

नोकिया 07.03.2019
चेरचर

प्रतिमा बर्याच काळापासून सर्वात जास्त वेळ घेणारे पैलू म्हणून ओळखल्या जातात प्रतिसाद वेब डिझाइन. आज आपण कसे वापरायचे ते पाहू चित्र घटकसमस्येचे निराकरण म्हणून अनुकूली प्रतिमाआत्ता

प्रथम, समस्या स्वतःच

संपूर्ण लेआउट अनुपालनासह निश्चित-रुंदीच्या वेबसाइट डिझाइनचे दिवस आता गेले आहेत. सध्याच्या घडीला वाइडस्क्रीन मॉनिटर्स, इंटरनेट टीव्ही, टॅब्लेट आणि विविध आकारांचे स्मार्टफोन, आमच्या डिझाइनमध्ये कोणतेही रिझोल्यूशन विचारात घेणे आवश्यक आहे - 320 पिक्सेल ते 7680 पर्यंत.

हे सर्व रिझोल्यूशन प्रतिमांवर मागणी ठेवतात - विविध आवश्यकता सामावून घेण्यासाठी त्यांना ताणणे आणि संकुचित करणे आवश्यक आहे. ही समस्या असू शकते कारण... वगळता वेक्टर ग्राफिक्स, बहुतेक प्रतिमा आहेत निश्चित रुंदीपिक्सेलमध्ये, जे बदलत नाही.

मग काय करायचं?

वर्तमान, सर्वात सामान्य उपाय

सामान्यतः, जवळजवळ कोणत्याही प्रतिसादात्मक वेबसाइटच्या CSS कोडमध्ये तुम्हाला खालील गोष्टी आढळतील:

img (कमाल-रुंदी: 100%; उंची: स्वयं;)

img (कमाल - रुंदी: 100%; उंची: ऑटो;)

हा कोड कमाल-रुंदी सेटिंग वापरतो: 100%; प्रतिमा मूळ कंटेनरच्या पलीकडे वाढणार नाही याची खात्री करण्यासाठी. जर मूळ कंटेनर प्रतिमेच्या रुंदीपेक्षा लहान असेल तर, प्रतिमा त्याच्यासह संकुचित होईल. उंची सेट करणे: स्वयं; उपस्थित आहे जेणेकरून कमी केल्यावर, प्रतिमेचे प्रमाण संरक्षित केले जाईल.

सर्व उपकरणांसाठी एक रबर प्रतिमा

हे एका की मध्ये समस्येचे निराकरण करते, आम्हाला वेगवेगळ्या परिस्थितीत समान प्रतिमा दर्शवू देते. परंतु, ते आम्हाला वेगवेगळ्या परिस्थितींसाठी भिन्न प्रतिमा दर्शवू देत नाही.

नवीन उपाय: चित्र टॅग

चित्र आहे नवीन घटक, जो HTML5 चा भाग असावा. हे ऑडिओ आणि व्हिडिओ घटकांच्या ऑपरेशनच्या तत्त्वांप्रमाणेच अनुकूली प्रतिमा ठेवण्याच्या प्रक्रियेस लक्षणीय गती देईल. हे आपल्याला अनेक स्त्रोत घटक निर्दिष्ट करण्यास अनुमती देईल, त्यापैकी प्रत्येक सूचित करेल विविध फाइल्सप्रतिमा ज्या अटींसह लोड केल्या पाहिजेत.

हे तुम्हाला यावर अवलंबून भिन्न प्रतिमा अपलोड करण्यास अनुमती देईल:

मीडिया क्वेरी परिणाम, जसे की व्ह्यूपोर्ट उंची, रुंदी, अभिमुखता

पिक्सेल घनता

याचा अर्थ तुम्ही हे करू शकता:

उपलब्ध चॅनल रुंदीचा जास्तीत जास्त वापर करून योग्य आकाराच्या प्रतिमा अपलोड करा.

स्क्रीनच्या बदलत्या लेआउटशी जुळण्यासाठी भिन्न क्रॉपिंग आणि आस्पेक्ट रेशोसह प्रतिमा लोड करा भिन्न रुंदी.

पासून प्रतिमा अपलोड करा उच्च रिझोल्यूशनउच्च पिक्सेल घनता असलेल्या स्क्रीनसाठी.

विविध प्रतिमापरिस्थितीनुसार लोड केले जाते

चित्र घटक कसे कार्य करते?

चित्र घटकासह कार्य करण्यासाठी मूलभूत पायऱ्या आहेत:

ओपनिंग आणि क्लोजिंग पिक्चर टॅग तयार करणे.

या टॅगमध्ये, तुम्ही करू इच्छित असलेल्या प्रत्येक विनंतीसाठी स्त्रोत घटक तयार करा.

व्ह्यूपोर्टची उंची, रुंदी, अभिमुखता इत्यादी गोष्टींसाठी तुमच्या क्वेरीमध्ये मीडिया विशेषता जोडा.

अपलोड करण्यासाठी इमेज फाइलच्या योग्य नावासह srcset विशेषता जोडा.

तुम्हाला उच्च पिक्सेल घनतेच्या स्क्रीन जसे की डोळयातील पडदा सपोर्ट करायचे असल्यास तुमच्या srcset विशेषतामध्ये अतिरिक्त फाइलनावे जोडा.

फॉलबॅक म्हणून एक img घटक जोडा.

येथे एक साधे उदाहरण आहे जे व्ह्यूपोर्ट 768px पेक्षा लहान आहे का ते तपासते आणि ते जुळत असल्यास इमेज लोड करते लहान आकार:

< picture > < source srcset = "smaller.jpg" media = "(max-width: 768px)" > < source srcset = "default.jpg" > < img srcset = "default.jpg" alt = "माझी डीफॉल्ट प्रतिमा" > < / picture >

तुमच्या लक्षात येईल की मीडिया ॲट्रिब्यूटमध्ये वापरलेली वाक्यरचना ही CSS मीडिया क्वेरी लिहिताना तुम्हाला वापरायची सवय आहे. तुम्ही तेच चेक वापरू शकता, म्हणजे तुम्ही कमाल-रुंदी, किमान-रुंदी, कमाल-उंची, किमान-उंची, अभिमुखता इत्यादीसाठी क्वेरी तयार करू शकता.

डिव्हाइसच्या अभिमुखतेनुसार तुम्ही इमेजच्या लँडस्केप किंवा पोर्ट्रेट आवृत्ती लोड करण्यासाठी या चेकचा वापर करू शकता आणि तुम्ही आकार क्वेरी देखील जोडू शकता. उदाहरणार्थ:

< picture > < source srcset = "smaller_landscape.jpg" media = "(max-width: 40em) and (orientation: landscape)" > < source srcset = "smaller_portrait.jpg" media = "(max-width: 40em) and (orientation: portrait)" > < source srcset = "default_landscape.jpg" media = "(min-width: 40em) and (orientation: landscape)" > < source srcset = "default_portrait.jpg" media = "(min-width: 40em) and (orientation: portrait)" > < img srcset = "default_landscape.jpg" alt = "माझी डीफॉल्ट प्रतिमा" > < / picture >

वरील कोड कमी केलेला, क्रॉप केलेला लोड करतो लँडस्केप अभिमुखतायोग्य अभिमुखतेसह डिव्हाइससाठी प्रतिमेची आवृत्ती. यासह डिव्हाइसेससाठी समान प्रतिमेची मोठी आवृत्ती डाउनलोड करते मोठा स्क्रीन.

डिव्हाइस पोर्ट्रेट ओरिएंटेशनमध्ये असल्यास, ते त्यानुसार क्रॉप केलेली प्रतिमा डाउनलोड करते: लहान आकारात - साठी लहान उपकरणेआणि उच्च रिझोल्यूशन उपकरणांसाठी एक मोठी प्रतिमा.

तुम्ही उच्च घनतेच्या स्क्रीनसाठी प्रतिमांच्या भिन्न रिझोल्यूशन आवृत्त्या देऊ इच्छित असल्यास, तुम्ही srcset विशेषतामध्ये अतिरिक्त फाइलनावे जोडून तसे करू शकता. उदाहरणार्थ, रेटिना 2x स्क्रीन रिझोल्यूशन सपोर्टसह वरील पहिले कोड उदाहरण पाहू:

< picture > < source srcset = "smaller.jpg, smaller_retina.jpg 2x" media = "(max-width: 768px)" > < source srcset = > < img srcset = "default.jpg, default_retina.jpg 2x" alt = "माझी डीफॉल्ट प्रतिमा" > < / picture >

मीडिया विनंतीवर प्रथम प्रक्रिया केली जाते, त्यामुळे तुम्ही स्क्रीनवरील प्रतिमेचा आकार नियंत्रित करू शकता. पुढे, स्क्रीनची पिक्सेल घनता तपासली जाते आणि जर उच्च घनतावापरकर्ता सेटिंग्जद्वारे समर्थित आणि अनुमत आहे, प्रतिमेची उच्च रिझोल्यूशन आवृत्ती लोड केली जाईल.

चित्र वापरणेसध्याचा दिवस

सध्या, चित्राची मूळ अंमलबजावणी विकसित होत आहे Chrome ब्राउझर, Firefox आणि Opera भविष्यात, आम्हाला इतर ब्राउझरमध्ये व्यापक समर्थन दिसेल. परंतु, आजपर्यंत, केवळ समर्थन अपेक्षित आहे.

आत्तासाठी, तुम्हाला आत्ताच चित्र वापरणे सुरू करायचे असल्यास तुम्हाला प्रतीक्षा करण्याची गरज नाही. तुम्हाला फक्त Picturefill 2.0 वापरण्याची गरज आहे, फिलामेंट ग्रुपमधील डेव्हलपरद्वारे प्रदान केलेले पॉलीफिल.

एकदा तुम्ही तुमच्या प्रोजेक्टमध्ये picturefill.js फाइल डाउनलोड केल्यानंतर, ती फक्त लोड करून वापरली जाऊ शकते डोके विभागतुमची साइट:

अधिक कार्यक्षमतेसाठी स्क्रिप्ट ॲसिंक्रोनस लोड करण्याचा पर्याय देखील आहे, ज्याबद्दल तुम्ही Picturefill दस्तऐवजात वाचू शकता. ही स्क्रिप्ट लोड करताना, चित्र घटक मी वर्णन केल्याप्रमाणे कार्य करेल, किरकोळ निर्बंधांसह. ] -->< source srcset = "smaller.jpg" media = "(max-width: 768px)" > < source srcset = "default.jpg" > < ! -- [ if IE 9 ] > < / video > < ! [ endif ] -- > < img srcset = "default.jpg" alt = "माझी डीफॉल्ट प्रतिमा" > < / picture >

Android 2.3

IE9 प्रमाणे, Android 2.3 मध्ये पिक्चर टॅगमधील स्त्रोत घटक दिसत नाहीत. तथापि, जेव्हा ते नियमित img टॅगला नियुक्त केले जाते तेव्हा ते srcset विशेषता ओळखते. तुम्ही Android 2.3 किंवा तत्सम समस्या असलेल्या इतर कोणत्याही ब्राउझरसाठी srcset विशेषतामध्ये डीफॉल्ट फाइल नावासह फॉलबॅक img घटक समाविष्ट केल्याची खात्री करा.

JavaScript आणि मूळ मीडिया क्वेरी समर्थन आवश्यक आहे

हे सोल्यूशन JavaScript मध्ये अंमलात आणले जात असल्याने, त्यासाठी JavaScript आवश्यक आहे योग्य ऑपरेशनब्राउझर मध्ये. पिक्चरफिल 2.0 "नो-जेएस" उपाय प्रदान करत नाही कारण अन्यथा, नेटिव्ह सपोर्ट लागू केल्यावर पृष्ठांवर अनेक प्रतिमा दिसतील. तथापि, "नो-जेएस" वैशिष्ट्य तुमच्यासाठी महत्त्वाचे असल्यास तुम्ही Picturefill 1.2 वापरू शकता.

Picturefill ची पुढील आवश्यकता मीडिया क्वेरींसाठी नेटिव्ह सपोर्ट आहे, जेणेकरुन मीडिया ॲट्रिब्यूट मधील क्वेरी काम करतील. सर्व आधुनिक ब्राउझरमीडिया प्रश्नांना समर्थन देते, तर IE8 आणि खालील एकमेव ब्राउझर आहे जे त्यास समर्थन देत नाही, लहान अवशिष्ट वापरकर्ता बेससह.

संभाव्य अतिरिक्त HTTP विनंत्या

मूळ srcset समर्थन असलेल्या परंतु चित्राला समर्थन देत नसलेल्या ब्राउझरसाठी हे शक्य आहे दिलेले नावफाईल सुटे img घटक img घटकामध्ये अधिक योग्य प्रतिमा परिभाषित करण्यापूर्वी विनंती केली जाऊ शकते. ही समस्या तात्पुरती आहे आणि मूळ चित्र समर्थन लागू केल्यावर त्याचे निराकरण केले जाईल.

प्रतिमेला "अनुकूल" करण्याचा सर्वात सोपा मार्ग म्हणजे रुंदी १००% वर सेट करणे आणि उंचीची आपोआप गणना करणे. आमची प्रतिमा मूळ ब्लॉकपेक्षा कधीही रुंद होणार नाही आणि ब्राउझर त्याचे प्रमाण राखून त्याचा आकार बदलेल. या पद्धतीचा तोटा असा आहे की मोबाइल आणि डेस्कटॉप दोन्ही समान दिले जातात मोठे चित्र. स्मार्टफोनवर छोटी इमेज पाठवली तर बरे होईल. अशा प्रकारे आम्ही अभ्यागतांसाठी रहदारी वाचवतो आणि पृष्ठ लोडिंगला गती देतो.

अनुकूली प्रतिमा टॅग करा

ॲडॉप्टिव्ह इमेजेस हे इन्स्टॉलेशनची सुलभता आणि लेआउट बदलण्यात समस्या नसल्यामुळे एक मनोरंजक उपाय आहे. अभ्यागताच्या स्क्रीनचा आकार निर्धारित करते आणि पृष्ठावर इच्छित प्रतिमा समाविष्ट करते.

स्थापनेमध्ये काहीही क्लिष्ट नाही. http://adaptive-images.com/ वरून वितरण डाउनलोड करा. adaptive-images.php आणि .htaccess फाइल्स साइटच्या रूटवर कॉपी करा. बहुधा रूटमध्ये आधीपासूनच .htaccess फाइल आहे. या प्रकरणात, ते संपादित करा परंतु प्रथम एक प्रत बनवा, फक्त बाबतीत. जर तुमच्या .htaccess फाइलमध्ये एक विभाग असेल ज्याची सुरुवात होते

  • #ॲडॅप्टिव्ह-इमेजेस आणि #END ॲडॅप्टिव्ह-इमेजेसमध्ये काय समाविष्ट आहे ते या विभागात पेस्ट करा. असा कोणताही विभाग नसल्यास, संपूर्ण सामग्री कॉपी करा.
    तुम्हाला विभागात खालील JS कोड घालण्याची आवश्यकता आहे

  • < script>document.cookie = "resolution=" + Math .max (screen.width , screen.height ) + "; path=/" ;
  • हा कोड इतर स्क्रिप्टच्या आधी लोड झाला पाहिजे.
    शेवटची पायरी म्हणजे adaptive-images.php फाइल कॉन्फिगर करणे. $रिजोल्यूशन व्हेरिएबल स्क्रीनची रुंदी निर्दिष्ट करते. नियमानुसार, CSS मधील मीडिया क्वेरींमध्ये निर्दिष्ट केलेले परिमाण सेट केले जातात. $cache_path हा फोल्डरचा मार्ग आहे जेथे सुधारित प्रतिमा संग्रहित केल्या जातील.

    आता हे सर्व कसे कार्य करते याबद्दल बोलूया. अभ्यागत विंडोचा आकार विभागात ठेवलेल्या JavaScript द्वारे निर्धारित केला जातो. ही माहिती कुकीजमध्ये रेकॉर्ड केली जाते. जेव्हा ब्राउझरला पृष्ठावरील टॅग आढळतो आणि प्रतिमा मिळविण्यासाठी सर्व्हरला विनंती पाठवते, ते कुकीज पाठवते. अपाचे वेब सर्व्हरप्रतिमेसाठी विनंती प्राप्त झाल्यानंतर, तो त्याच्याकडे आहे का ते पाहतो विशेष सूचनाफायलींसाठी. .htaccess मध्ये आमच्याकडे एक नियम आहे ज्यानुसार सर्व्हर jpg, png किंवा gif साठी कोणतीही विनंती adaptive-images.php वर पाठवतो. PHP फाइलकुकीज शोधते आणि स्क्रीनचा आकार किती आहे ते शोधते. पुढे, कुकीमधील मूल्याची तुलना $रिजोल्यूशन व्हेरिएबल आणि निवडलेल्या मूल्यांशी केली जाते सर्वोत्तम मूल्य. 480px मूल्य निवडले आहे असे गृहीत धरू. प्रस्तुत प्रतिमा /ai-cashe/480/ फोल्डरमध्ये असावी. ती नसेल तर विनंती केली जाईल स्रोत फाइलआणि जर त्याची रुंदी स्क्रीनच्या रुंदीपेक्षा कमी असेल, तर अभ्यागताला मूळ फाइल दिली जाईल. जर आकार मोठा असेल तर फाईल कमी केली जाईल योग्य आकारआणि वापरकर्त्याला पाठवले जाते. सुधारित प्रत जतन केली जाते जेणेकरून पुढील वेळी तिचा आकार बदलू नये.

    प्रतिसादात्मक प्रतिमा बनवण्याचे आणखी काही मार्ग

    ब्राउझिंग संभाव्य उपायमाझ्या लक्षात आले की ते सर्व घटक या नवीन घटकाच्या आधी ऑफर केले गेले होते सर्वोत्तम पर्यायअनुकूली प्रतिमांची समस्या सोडवणे.

    अनुकूली प्रतिमा - कॉन्फिगर करणे सोपे. या चांगला पर्यायतुम्हाला फाइल्सच्या गुच्छाचा त्रास नको असल्यास, प्रत्येक चित्रासाठी तीन फाइल्स तयार करा. जरी हे प्लस वजा मध्ये बदलू शकते. अनेकदा कमी होत आहे मोठे फोटोशेवटी, आकार बदलण्यापेक्षा काही भाग कापून टाकणे चांगले. ॲडॉप्टिव्ह इमेजचा आणखी एक तोटा म्हणजे सर्व्हरवरील लोड.

    तसे, जर तुमची साइट Drupal वर चालत असेल, तर पुढील लेखात आम्ही प्रतिमांचा आकार बदलण्याची प्रक्रिया शक्य तितक्या अंमलात आणण्याचा आणि स्वयंचलित करण्याचा प्रयत्न करू.

    • 'yml_catalog' घटकासाठी कोणतेही वर्णन आढळले नाही. मूळ घटक चुकीच्या पद्धतीने निर्दिष्ट केला जाऊ शकतो.
    • XML अजिबात व्युत्पन्न होत नसल्यामुळे किंवा तुम्ही Yandex ला YML ला चुकीची लिंक प्रदान केल्यामुळे ही त्रुटी स्पष्टपणे दिसून येते. त्रुटीचे कारण शोधण्यासाठी, ब्राउझरमध्ये तुमच्या YML ची लिंक उघडा.

    • गंभीर त्रुटी: XML पार्सिंग त्रुटी: XML फीड पार्स करताना त्रुटी: अज्ञात टॅग: XML टॅग "b" (स्ट्रिंग...
    • YML निर्मिती प्रक्रियेदरम्यान काही त्रुटी आली. PHP ने एरर मेसेज टाकला आणि तो "b" टॅगमध्ये असे करतो. उघडा स्रोत कोड YML, ओळ क्रमांकानुसार तुम्ही मजकूर सहज शोधू शकता PHP त्रुटी. तुम्हाला त्याचा अर्थ माहित नसेल तर गुगलवर सर्च करा. मला खात्री आहे की ही त्रुटी दूर करण्यासाठी तुम्हाला शिफारसी सापडतील.

    • अनुपस्थित आवश्यक घटकचित्र
    • Yandex.Market नियमांनुसार, निर्यात केलेल्या उत्पादनामध्ये किमान एक चित्र असणे आवश्यक आहे. चित्र नसलेली उत्पादने निर्यात केली जात नाहीत. "उत्पादन प्रतिमांची संख्या" फील्डमधील मॉड्यूल सेटिंग्जमध्ये शून्यापेक्षा मोठी संख्या असल्याचे तपासा. आणि स्टोअर डेटाबेसमधील उत्पादनांमध्ये चित्रे असल्याचे तपासा.

    • XML तपशील त्रुटी. तुमची किंमत यादी सोबत आणा तांत्रिक आवश्यकतानिवडलेले स्वरूप...
    • YML निर्यात मध्ये बाह्य टॅगच्या उपस्थितीमुळे त्रुटी आली आहे. आपण कीवर्ड टॅगवर काहीतरी निर्यात केल्यास असे होते. यांडेक्सला या टॅगची आवश्यकता नाही. मॉड्यूल सेटिंग्जमध्ये निर्दिष्ट करा "फील्डमधून कीवर्ड टॅग घ्या" = "अनलोड करू नका"

    • कोणतेही आवश्यक ऑफरचे पॅरामीटर नाही
    • त्रुटी सांगते की आवश्यक उत्पादन ऑफर पॅरामीटर YML मध्ये आढळले नाही. कपडे, शूज आणि ॲक्सेसरीजसाठी, उत्पादनाचा रंग आणि आकार YML मध्ये उपस्थित असणे आवश्यक आहे. जिथे त्रुटी आली त्या रेषेद्वारे, कोणत्या उत्पादनामध्ये रंग आणि/किंवा आकार निर्दिष्ट केलेला नाही हे आपण शोधू शकता. OpenCart मधील या उत्पादनासाठी तुम्हाला एक विशेषता किंवा पर्याय निर्दिष्ट करणे आवश्यक आहे जे मॉड्यूलद्वारे YML वर निर्यात केले जाईल. मॉड्यूल सेटिंग्जमध्ये ही विशेषता किंवा पर्याय तपासा.

    ब्राउझरमध्ये दिसणाऱ्या त्रुटी
    • ब्राउझरमध्ये YML उघडताना 500 किंवा 502" त्रुटी खराब गेटवे", किंवा फक्त एक पांढरा स्क्रीन.
    • YML व्युत्पन्न करणारी स्क्रिप्ट त्रुटीसह पूर्ण झाली. तुमची साइट सेटिंग्ज अशी आहेत की त्रुटी दर्शविल्या जात नाहीत. आपण त्रुटी प्रदर्शन सक्षम करणे आवश्यक आहे. OpenCart ॲडमिनमधील स्टोअर सेटिंग्जमध्ये त्रुटी सक्षम करणे बहुधा पुरेसे नाही. .htaccess आणि php.ini फाइल्समध्ये एरर डिस्प्ले सक्षम करणे आवश्यक आहे. परंतु हे पुरेसे असू शकत नाही. साइट होस्टिंग अशा प्रकारे कॉन्फिगर केले जाऊ शकते की या फाइल्स त्रुटी आउटपुटवर परिणाम करणार नाहीत. संपर्क करणे ही सर्वात चांगली गोष्ट आहे तांत्रिक समर्थनहोस्टिंग

    • त्रुटी पार्सिंग XML: मूळ घटक आढळला नाही
    • YML व्युत्पन्न करणारी स्क्रिप्ट त्रुटीसह पूर्ण झाली. या प्रकरणात, YML पूर्णपणे तयार झाले नाही - तेथे कोणतेही क्लोजिंग टॅग नाहीत. YML स्त्रोत कोड पहा. शेवटी त्रुटी संदेश असल्यास, Yandex किंवा Google मध्ये त्रुटी मजकूर शोधा. त्रुटी संदेश नसल्यास, मागील परिच्छेद पहा.

    • त्रुटी "अधिकतम अंमलबजावणी वेळ 30 सेकंद ओलांडली"
    • डीफॉल्टनुसार, PHP स्क्रिप्ट कार्यान्वित करण्यासाठी 30 सेकंद दिले जाते. स्क्रिप्टने ३० सेकंदात YML जनरेट न केल्यास, स्क्रिप्ट जबरदस्तीने बंद करण्यात आली. अर्थात, वायएमएल तयार झाले नाही, किंवा पूर्णपणे तयार झाले नाही.
      वस्तुस्थिती अशी आहे की संपूर्ण कमोडिटी बेसची निर्यात करणे हे संसाधन-केंद्रित ऑपरेशन आहे. Yandex साठी प्रतिमा स्केलिंग करण्यास बराच वेळ लागतो, कारण Yandex 600x600 पिक्सेल पेक्षा लहान आकाराच्या प्रतिमा स्वीकारत नाही. सुदैवाने, OpenCart स्केल केलेल्या प्रतिमा इमेज कॅशेमध्ये संग्रहित करते. पुन्हा निर्यात करताना, प्रतिमा कॅशेमधून पटकन घेतल्या जातील. इमेज कॅशे पूर्णपणे तयार होईपर्यंत, YML निर्यात स्क्रिप्ट पूर्ण होण्यासाठी बराच वेळ लागू शकतो. स्क्रिप्ट अनेक वेळा चालवण्याचा प्रयत्न करा, एक कॅशे तयार होईल, स्क्रिप्ट वेळेच्या मर्यादेत वेगाने धावेल.
      हे मदत करत नसल्यास, YML जनरेशन वेळ अद्याप मोठा आहे (तुमच्याकडे भरपूर उत्पादने आहेत या वस्तुस्थितीमुळे), तर तुम्ही फाइलमध्ये max_execution_time पॅरामीटर वाढवण्याचा प्रयत्न करू शकता. PHP सेटिंग्ज php.ini.
      जर हे पुरेसे नसेल (अशा उत्पादन बेससह ऑनलाइन स्टोअरसाठी तुमचे होस्टिंग कमकुवत आहे), तर तुम्ही php-cli द्वारे स्क्रिप्ट चालवून YML निर्यात व्युत्पन्न करण्याचा प्रयत्न करू शकता.

      YML सामग्री प्रश्न
      • सर्वच मालाची निर्यात होत नाही.
      • YML निर्यात मध्ये सर्व उत्पादने उपस्थित नसण्याची अनेक कारणे असू शकतात. मॉड्यूल सेटिंग्ज आणि उत्पादन डेटाबेसमधील सामग्री हे सामान्य कारण आहे.

  • उत्पादनांमध्ये निर्माता निर्दिष्ट केलेला नाही, परंतु "काय निर्यात करायचे" मॉड्यूलच्या सेटिंग्ज टॅबमध्ये, उत्पादक निवडले जातात.
  • उत्पादनांना मुख्य श्रेणी नसतात, परंतु "सामान्य" टॅबमध्ये "उत्पादनांमध्ये मुख्य श्रेणी असतात" चेकबॉक्स चेक केला जातो.
  • उत्पादन काळ्या यादीत आहे किंवा पांढऱ्या यादीत नाही, जे मॉड्यूल सेटिंग्जच्या "काय निर्यात करायचे" टॅबवर निर्दिष्ट केले आहे.
  • “माल जास्त महाग असेल तरच अनलोड करा”, “माल जास्त महाग असल्यास अनलोड करू नका” किंवा “काय निर्यात करायचे” टॅबमधील “चित्रांशिवाय माल उतरवू नका” या फील्डमध्ये निर्यात केलेल्या वस्तूंमधून वस्तू वगळल्या जातात.
  • उत्पादन स्टॉक संपले आहे, आणि त्याची स्थिती "स्टॉक संपलेली" आहे जसे की उत्पादन निर्यात केले जात नाही. आउट-ऑफ-स्टॉक आयटम निर्यात करण्यासाठी, मॉड्यूल सेटिंग्जच्या “वेअरहाऊस आणि डिलिव्हरी” टॅबमध्ये, “स्टॅटस आउट ऑफ स्टॉक” फील्डमध्ये कोणतीही स्थिती निवडू नका.
  • निर्यातीत सर्वच श्रेणी समाविष्ट नाहीत.
  • OpenCart मध्ये, एक उत्पादन अनेक श्रेणींमध्ये दर्शविले जाऊ शकते, परंतु YML स्वरूपात, एक उत्पादन फक्त एकाच श्रेणीचे असू शकते. निर्यात मॉड्यूल प्रथम उपलब्ध श्रेणीसाठी उत्पादन नियुक्त करते. त्यामुळे, असे दिसून येते की काही श्रेणींमध्ये कोणताही माल नाही आणि या श्रेणी निर्यातीत उपस्थित नसतील, जरी इतर श्रेणींमध्ये माल उपस्थित असेल.
    ocStore मध्ये मुख्य श्रेण्या आहेत आणि तुम्ही उत्पादनांना फक्त मुख्य श्रेणींशी जोडू शकता. हे करण्यासाठी, मॉड्यूल सेटिंग्जमध्ये, "उत्पादनांमध्ये मुख्य श्रेणी आहेत" बॉक्स चेक करा. या प्रकरणात, तुम्हाला YML निर्यातीत वस्तूंचे अधिक तपशीलवार वर्गीकरण प्राप्त होईल, परंतु ज्या वस्तूंसाठी मुख्य श्रेणी निर्दिष्ट केलेली नाही ती अजिबात निर्यात केली जाणार नाही.

    कसा बनवायचा...?
    • शून्य प्रमाण असलेल्या उत्पादनाची निर्यात कशी करू नये?
    • मॉड्यूल सेटिंग्जमध्ये, "वेअरहाऊस आणि डिलिव्हरी" टॅबमध्ये, "स्थिती "स्टॉकमध्ये नाही" फील्ड शोधा. या फील्डमध्ये, सर्व उत्पादन स्थिती तपासा. एकाधिक सूची आयटम चिन्हांकित करण्यासाठी, माउसने क्लिक करताना Ctrl की दाबून ठेवा.

    भाषांमध्ये विकास: PHP, JavaScript, node.js. डेटाबेस: MySQL, PostgreSQL, MongoDB.
    CMS ची सुधारणा: OpenCart, PrestaShop, Wordpress. यासह एकत्रीकरण: पेमेंट सिस्टम, व्हीकॉन्टाक्टे, फेसबुक, यांडेक्स.

    लवचिक दस्तऐवजांचे वैशिष्ट्य म्हणजे भिन्न प्रतिमांमधील फील्डची परिवर्तनीय रचना. म्हणून, घटक तयार करताना, आपण हे लक्षात ठेवले पाहिजे की या घटकाद्वारे वर्णन केलेले ऑब्जेक्ट काही प्रतिमेमध्ये नसू शकतात, त्यामुळे ते शोधणे शक्य होणार नाही. हे देखील शक्य आहे की स्कॅनिंग दरम्यान प्रतिमा खराब होऊ शकते, जसे की काळे करणे किंवा, उलट, प्रतिमेचे काही भाग हलके करणे, ज्यामुळे माहितीचे नुकसान होते. या प्रकरणात, घटकाशी संबंधित ऑब्जेक्ट देखील सापडणार नाही. FlexiLayout Studio तुम्हाला इमेजमधून घटक गहाळ असल्यास इतर घटक शोधणे सुरू ठेवण्याची परवानगी देतो. काही वस्तू न मिळाल्यास प्रतिमेवर वर्णन आच्छादित करण्याची परवानगी देण्यासाठी, तुम्हाला ते ऐच्छिक करणे आवश्यक आहे.

    आवश्यक घटकांचा वापर करून वर्णन केलेल्या इमेज ऑब्जेक्ट्स इमेजमध्ये उपस्थित असणे आवश्यक आहे आणि लवचिक वर्णन लागू करताना प्रोग्रामने ते शोधणे आवश्यक आहे. इमेजमध्ये अशी एखादी वस्तू न आढळल्यास, वर्णन जोडण्याची प्रक्रिया थांबते.

    फॉर्म ओळखणाऱ्या वस्तू शोधण्यासाठी आवश्यक घटकांचा वापर केला पाहिजे. अशा आयडेंटिफायर घटकाची उपस्थिती लवचिक वर्णनास संबंधित नसलेल्या फॉर्मवर लादण्यापासून प्रतिबंधित करेल हा प्रकारफॉर्म तुम्ही इमेज ऑब्जेक्ट्सचे वर्णन करण्यासाठी आवश्यक घटक देखील वापरू शकता, ज्याची अनुपस्थिती फॉर्मवर लवचिक वर्णन आणि पुढील डेटा ओळख लागू करणे व्यर्थ बनवते.

    इतर सर्व प्रकरणांमध्ये, इमेज ऑब्जेक्ट्सचे वर्णन वैकल्पिक घटकांद्वारे केले जावे.

    वर्णन करण्यासाठी पर्यायी घटक वापरणाऱ्या ऑब्जेक्ट्स कदाचित इमेजमध्ये नसतील किंवा लवचिक वर्णन लागू करताना प्रोग्राम कदाचित त्यांना शोधू शकणार नाही. तथापि, या प्रकरणात, प्रतिमेवर लवचिक वर्णन केले जाऊ शकते आणि इतर घटकांद्वारे वर्णन केलेल्या प्रतिमा वस्तू आढळतील.

    डीफॉल्टनुसार, सर्व साधे वर्णन घटक पर्यायी आहेत, उदा. हे मान्य केले आहे की ते प्रतिमेत सापडणार नाहीत.

    टिप्पणी द्या. साध्या घटकांच्या विपरीत, सर्व गट घटक डीफॉल्टनुसार आवश्यक असतात.

    उपलब्धता विशिष्ट घटकयाचा अर्थ असा असू शकतो की गृहीतकांची बांधलेली साखळी चुकीची आहे. या घटकांना अवैध घटक म्हणतात. आपण शोधू तेव्हा या घटकाचाज्या झाडाच्या फांदीमध्ये ती सापडली त्याबद्दल गृहितकांची निर्मिती थांबते. हे घटक वापरले जाऊ शकतात, उदाहरणार्थ, दस्तऐवजावर खोटे वर्णन आच्छादित होण्यापासून रोखण्यासाठी.

    अशा प्रकारे, घटकांचा वापर दस्तऐवज ओळखण्यासाठी (आवश्यक), ब्लॉक्स शोधण्यासाठी (आवश्यक आणि पर्यायी) आणि खोट्या गृहितकांना नाकारण्यासाठी केला जाऊ शकतो ( अवैध घटक).

    घटक वापरण्यासाठी पर्यायाची निवड घटक गुणधर्म संवाद (सामान्य टॅब) मध्ये केली जाते.

    आवश्यक आणि अस्वीकार्य घटकांच्या प्रतिमा खालीलप्रमाणे हायलाइट केल्या आहेत.



    आम्ही वाचण्याची शिफारस करतो

    वर