2013-05-29 1 views
6

के हिस्से के रूप में पूर्ण कैलकेंडर मैं मॉड्यूल के वाणिज्य सूट का उपयोग करके ड्रूपल 7 में एक ई-शॉप स्थापित कर रहा हूं। दुकान के माध्यम से, एक दैनिक आधार पर एक रसद सेवा की पेशकश की जाती है।ड्रूपल वाणिज्य चेकआउट

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

https://drupal.org/project/fullcalendar

मैं:

http://arshaw.com/fullcalendar/

Drupal में एक प्रासंगिक प्लगइन है:

मैं आदेश उपयोगकर्ता के लिए दैनिक उपलब्धता प्रदर्शित करने के लिए Fullcalendar स्क्रिप्ट का उपयोग करना चाहते हैं मेरी साइट पर एक सामान्य पूर्ण कैलेंडर पृष्ठ प्रदर्शित करने में सक्षम हूं। वह हिस्सा जहां मैं वास्तव में अटक गया हूं चेकआउट प्रक्रिया के हिस्से के रूप में एक पूर्ण कैलकुलेटर फलक कैसे बनाएं, और क्रम में उपयोगकर्ता चयन को संग्रहीत करें।

मैं कैलेंडर जोड़ने के लिए वाणिज्य अतिरिक्त शीशे मॉड्यूल की कोशिश की है:

https://drupal.org/project/commerce_extra_panes

हालांकि मैं सफल नहीं हुए हैं। मैं फलक के रूप में पूर्ण कैलेंडर ब्लॉक को प्रदर्शित करने का कोई तरीका नहीं समझ सकता।

मैंने ड्रूपल वाणिज्य, पूर्ण कैलकुलेटर मॉड्यूल और वाणिज्य अतिरिक्त पैन मॉड्यूल के दस्तावेज को पढ़ा है, लेकिन मैं अभी भी फलक के रूप में पूर्ण कैलकुलेटर को प्रदर्शित करने का तरीका नहीं समझ सकता। मैंने एक कस्टम मॉड्यूल बनाने का भी प्रयास किया है, लेकिन मैं यह नहीं समझ सकता कि प्रोग्राम को पूर्ण रूप से पूर्ण कैलकुलेटर कैसे आउटपुट करना है।

क्या किसी ने इससे पहले किया है? क्या इन मॉड्यूल के माध्यम से चेकआउट प्रक्रिया में इस कार्यक्षमता को जोड़ने का कोई तरीका है, या क्या मुझे इसे सब स्क्रैच से लिखना चाहिए?

उत्तर

4

मैं बैठ गया और इसे फिर से देखा, और इसे लागू करने का एक तरीका मिला।

सबसे पहले, मैंने पूर्ण कैलकेंडर ड्रूपल प्लगइन का उपयोग करने का प्रयास किया, लेकिन यह इस विशेष कार्यक्षमता के लिए अनावश्यक रूप से जटिल साबित हुआ, साथ ही यह स्पष्ट नहीं था कि फलक में पूर्ण कैलकुलेटर प्लगइन का आउटपुट कैसे जोड़ा जाए। वाणिज्य अतिरिक्त पैन इस मामले में उपयोगी नहीं था, या तो।

तो यहाँ मैं क्या किया है:

1) मैं एक मॉड्यूल है, जहां मैं एक कस्टम फलक की स्थापना बनाया।

function custom_checkout_commerce_checkout_pane_info() { 
    $panes = array(
    'custom_checkout_date' => array(
     'title' => t('Select a date'), 
     'base' => 'custom_checkout_date_pane', 
     'page' => 'route_date', // default checkout page 
     'weight' => -5, 
     'file' => 'includes/pane_route_date.inc' // Form functions 
    ) 
); 

    return $panes; 
} 

यहाँ फलक में ही शामिल है:: यहाँ मॉड्यूल है कि वाणिज्य चेकआउट फलक की स्थापना का हिस्सा है

छिपी हुई फ़ील्ड "selected_date" भंडार कैलेंडर का परिणाम है, जिसे फिर आदेश में जोड़ा जाता है।

मैंने फिर ड्रूपल पुस्तकालय फ़ोल्डर में पूर्ण कैलकेंडर जोड़ा, और इसे उस पृष्ठ पर जोड़ा जहां पूर्ण कैलकेंडर फलक drupal_add_js का उपयोग करके रखा गया है।

मैंने फिर एक AJAX कॉलबैक पृष्ठ बनाया, जिसका उपयोग ग्राहक द्वारा आदेश में दिए गए पैरामीटर से मेल खाने वाली उपलब्ध तिथियों को वापस करने के लिए किया जाता है।

मैंने फिर पूर्णकेंडर eventClick कॉलबैक ओवरराइड करके प्रत्येक ईवेंट के लिए एक क्लिक हैंडलर जोड़ा। इस प्रकार, जब उपयोगकर्ता किसी ईवेंट पर क्लिक करता है, तो यह ईवेंट की तारीख को छिपे हुए क्षेत्र में सेट करता है और वर्तमान वाणिज्य चेकआउट फलक प्रस्तुत करता है, जो आगे बढ़ता है।

इस प्रकार, मुझे अंत में पता चला कि क्या करना है, लेकिन इसके लिए बहुत सारी चीजें हैं, और मेरे द्वारा किए गए कई हिस्सों को बहुत अच्छी तरह से दस्तावेज नहीं किया गया था, या उनके पास पालन करने के लिए कोई अच्छा उदाहरण नहीं था: (

वैसे भी, इस प्रश्न में समस्या अब हल हो गई है, मुझे उम्मीद है कि यह किसी भी व्यक्ति को ड्रोपल वाणिज्य के चेकआउट हिस्से के साथ समान (या समान) मुद्दों से निपटने का प्रयास करने में मदद करता है।