2011-09-13 11 views
7

के माध्यम से भेजे गए एकाधिक पैरामीटर कैसे प्राप्त करें मुझे नीचे यह मेनू हुक मिला है जिसके द्वारा मैं फ़ंक्शन में दो पैरामीटर भेज रहा हूं।ड्रूपल hook_menu

लेकिन फ़ंक्शन में मुझे केवल पहला पैरामीटर प्राप्त हो रहा है।

क्या कोई भी ड्रूपल मेनू सिस्टम का उपयोग करके एकाधिक पैरामीटर भेजने और प्राप्त करने के बारे में जानता है?

function drupal_menu(){ 
    $items = array(); 
    $items['drupal/%/%'] = array(
     'title' => t('Welcome to the Hello World Module'), 
     'page callback' => 'drupal_page', 
     'page arguments' => array(1,2), 
     'access arguments' => array('access content'), 
     'type' => MENU_CALLBACK, 
    ); 
    return $items; 
} 


function drupal_page($arg1, $arg2) {  
    return drupal_json(array('mess1'=>$arg1,'mess2'=>$arg2)); 
} 
+0

कोशिश मैं एक ही मुद्दा था और कैश निस्तब्धता के बाद, यह काम किया। – Parthi04

उत्तर

8

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

+0

आपकी सलाह के लिए धन्यवाद। लेकिन कैश को साफ़ करने से मेरी मदद नहीं हुई। मुझे क्या दिलचस्प लगता है कि आपको ड्रूपल कोर सिस्टम को बताने की ज़रूरत है कि आपने hook_menu में बदलाव किए हैं, इसलिए ड्रूपल पथ को ट्रैक कर सकता है। मैंने पहले जो किया है, उसे पहले से अनइंस्टॉल करें और कस्टम मॉड्यूल को दोबारा स्थापित करें (अब वह ड्रूपल जानता है कि मैं क्या कर रहा हूं) और यह मेरे लिए काम करता है। –

1

आप वैसे भी सही रास्ते पर हैं ... यह आप के लिए काम नहीं कर रहा है, तो निम्न

function drupal_page($arg1, $arg2) { 
    $arg1_new = arg(1) ; 
    $arg2_new = arg(2) ; 
    return drupal_json(array(
    'mess1'=>$arg1_new, 
    'mess2'=>$arg2_new 
    ) 
); 
} 
+0

कस्टम मॉड्यूल को अनइंस्टॉल करने और पुनः स्थापित करने के बाद मेरा कोड काम करना शुरू कर दिया। मैं आपके कोड की कोशिश कर रहा हूँ। आपकी सलाह के लिए धन्यवाद। –