इसलिए मैं एक प्रोजेक्ट पर काम कर रहा हूं जो छात्रों को असाइनमेंट जमा करने या मंचों में भाग लेने के लिए इंगित करता है, फिर इन बिंदुओं को फ्लास्क का उपयोग करके एचटीपी संसाधन के रूप में उजागर किया जाता है।

प्रत्येक छात्र के लिए ट्रिगर की गई घटनाओं को देखकर अंकों की गणना की जाती है।

अभी आवश्यकताओं में से एक छात्र के नाम के आगे एक बॉक्स जोड़ना है जो उनके पास कुल अंकों को दर्शाता है। मेरे पास अंक तक पहुँचने के दो तरीके हैं, या तो मूडल से एक http अनुरोध द्वारा या मूडल के डेटाबेस से बिंदुओं को संग्रहीत और पुनर्प्राप्त करके।

मेरा सवाल यह है कि इस "बॉक्स" को बनाने का सबसे अच्छा तरीका क्या है, मैंने मूडल ब्लॉक का उपयोग करने और कोड को हैक करने का प्रयास किया है लेकिन कुछ भी काम नहीं कर रहा है। क्या इसके लिए एक प्लगइन बनाना एकमात्र समाधान है या इसे करने का एक आसान तरीका है (यदि यह संभव भी है)?

0
Eftychios Karagiorgis 23 जिंदा 2020, 22:38

1 उत्तर

सबसे बढ़िया उत्तर

अपने प्रश्न का सही उत्तर देने के लिए आपको कम से कम थीम और मूडल संस्करण प्रदान करना चाहिए जिसके साथ आप काम करते हैं। क्या यह बॉक्स हर जगह प्रदर्शित होना चाहिए? क्या प्रत्येक पाठ्यक्रम के लिए व्यक्तिगत रूप से स्कोर की गणना की जाती है?

दो प्रस्ताव जो मेरे दिमाग में आए:
आप block प्रकार का एक कस्टम प्लगइन बना सकते हैं। वहां आप सत्र के उपयोगकर्ता के स्कोर और उदाहरण के लिए शीर्ष दस प्रदर्शित कर सकते हैं (यदि स्कोर की गणना प्रत्येक पाठ्यक्रम के लिए व्यक्तिगत रूप से की जाती है)। एक नुकसान यह है कि पाठ्यक्रम का प्रत्येक शिक्षक यदि चाहे तो उस ब्लॉक को आसानी से हटा सकता है।
यदि स्कोर पूरे सिस्टम में गिना जाता है, तो आप उस बॉक्स को अपनी Moodle वेबसाइट के प्रारंभ पृष्ठ पर रख सकते हैं, जहां केवल उच्च अधिकार वाले लोग ही इसे निकाल सकेंगे।

यदि आप बूस्ट का उपयोग करते हैं तो आप उपयोगकर्ता नाम के ठीक आगे नेवबार में स्कोर प्रदर्शित कर सकते हैं। उसके लिए आपको theme_boost को बढ़ावा देने के लिए एक नया चाइल्ड थीम बनाना होगा और navbar.mustache को अधिलेखित करना होगा, जिसे columns2.php से इसकी जानकारी मिलती है क्योंकि यह columns2.mustache में शामिल है। इस PHP फ़ाइल में आप अपना तर्क शामिल कर सकते हैं और इसे HTML के साथ प्रदर्शित कर सकते हैं जिसे आप navbar.mustache में डालते हैं।

बेशक ये ऐसा करने के लिए वास्तव में आसान तरीके नहीं हैं। लेकिन फिलहाल मुझे संदेह है कि इस समस्या का कोई आसान समाधान मौजूद है।

1
DerKanzler 29 फरवरी 2020, 08:08