कहीं और से आने वाले डेवलपर्स के लिए Liquid की मूल बातें
यदि आपने पहले टेम्पलेट लिखे हैं, तो Liquid एक दोपहर लेगा। जो अधिक समय लेता है वह यह स्वीकार करना है कि यह आपको क्या नहीं करने देगा, क्योंकि वे सीमाएं जानबूझकर हैं और वे आकार देती हैं कि Shopify थीम कैसे बनाई जाती हैं।
यह वह अभिविन्यास है जो हम किसी अन्य स्टैक से Shopify प्रोजेक्ट में शामिल होने वाले डेवलपर्स को देते हैं।
मानसिक मॉडल#
Liquid एक रेंडरिंग भाषा है, एप्लिकेशन भाषा नहीं। इसमें Shopify द्वारा सौंपी गई ऑब्जेक्ट्स, उन्हें फॉर्मेट करने के लिए फ़िल्टर, और कंट्रोल फ्लो के लिए टैग हैं। कोई डेटाबेस एक्सेस नहीं है, कोई मनमानी गणना नहीं है, और आपको दी गई ऑब्जेक्ट्स के बाहर पहुंचने का कोई तरीका नहीं है। यदि आपको कुछ चाहिए जो ऑब्जेक्ट में नहीं है, तो जवाब एक मेटाफील्ड, एक ऐप, या एक अलग पेज है।
Liquid को सामान्य-उद्देश्य भाषा की तरह व्यवहार करने की कोशिश में बिताया गया हर घंटा एक घंटा है जो डेटा मॉडल पर खर्च किया जाना चाहिए था।
आप लगातार क्या उपयोग करेंगे#
| चीज़ | यह किसके लिए है |
|---|---|
| ऑब्जेक्ट्स | product, collection, cart, customer, shop — पेज का डेटा |
| फ़िल्टर | फॉर्मेटिंग: money, date, image_url, escape |
| टैग | कंट्रोल फ्लो: if, for, assign, render |
| सेक्शन और ब्लॉक | थीम एडिटर में मर्चेंट-संपादन योग्य संरचना |
| मेटाफील्ड्स | Shopify ऑब्जेक्ट्स से जुड़ा आपका अपना संरचित डेटा |
सामान्य जाल#
- बड़े संग्रहों पर लूप धीरे रेंडर होते हैं; Liquid में फ़िल्टर करने के बजाय पेजिनेट करें।
- आप प्रति अनुरोध जो भी गणना करते हैं वह हर अनुरोध पर गणना की जाती है — कैश-फ्रेंडली आउटपुट मायने रखता है।
- render एक अलग स्कोप प्राप्त करता है; include पदावनत है और अलग तरह से व्यवहार करता है।
- पैसा सेंट में संग्रहीत होता है; हाथ से अंकगणित करने के बजाय मनी फ़िल्टर का उपयोग करें।
- ग्राहक-विशिष्ट सामग्री सरल पूर्ण-पेज कैशिंग को रोकती है, जो एक प्रदर्शन निर्णय के साथ-साथ एक शुद्धता निर्णय भी है।
इसके बजाय लॉजिक कहां रखें#
डेटा शेपिंग मेटाफील्ड्स और मेटाऑब्जेक्ट्स में होनी चाहिए, एक बार परिभाषित और सस्ते में पढ़ी जाए। व्यवहार एक ऐप में या ब्राउज़र में होना चाहिए। Liquid को ज़्यादातर पढ़ना और फॉर्मेट करना चाहिए। जो थीम उस विभाजन का पालन करती हैं वे तेज़ और समझने योग्य रहती हैं।
अक्सर पूछे जाने वाले प्रश्न
क्या Liquid सीखना मुश्किल है?
नहीं — एक सक्षम डेवलपर एक दिन में उत्पादक है। यह सीखने में अधिक समय लगता है कि Shopify आपको क्या नहीं करने देगा।
क्या मैं Liquid में डेटा क्वेरी कर सकता हूं?
केवल वही जो पेज ऑब्जेक्ट ग्राफ आपको देता है, साथ ही मेटाफील्ड्स। कोई मनमानी क्वेरी नहीं है।
क्या लॉजिक Liquid या JavaScript में होनी चाहिए?
Liquid में प्रेजेंटेशन लॉजिक, JavaScript में इंटरैक्शन, ऐप में या आपके डेटा मॉडल में बिजनेस नियम।
shopify liquidliquid templatingshopify theme developmentliquid basicsshopify metafields