2010-07-17 24 views
5

में नामांकित तर्कों के लिए रूट कॉन्फ़िगरेशन मेरे केक एप्लिकेशन में मेरे पास नियंत्रक "पूर्ण_प्रोजेक्ट" है। इसकी अनुक्रमणिका कार्रवाई में कोई तर्क नहीं होता है और कुछ परियोजनाओं को सूचीबद्ध करता है। विभिन्न पृष्ठों से example.com/completed_projects/index/page:23 आदिकेकेपीएचपी

पहुँचा जा सकता है मैं यूआरएल के इस तरह बनाना चाहते:

example.com/portfolio/page23 

जाहिर है मैं इस के लिए कुछ मार्गों बनाने की जरूरत है। मैं उनमें से कई तरह की कोशिश की है:

Router::connect('/portfolio/page:num', array('controller' => 'completed_projects', 'action' => 'index'), array('pass'=>'page:num', 'num'=>'[0-9]+')); 

और यह भी:

Router::connect('/portfolio/:page:num', array('controller' => 'completed_projects', 'action' => 'index'), array('named'=>'num', 'page'=>'page', 'num'=>'[0-9]+')); 

मैं भी उन्हें बार-बार संशोधित करने की कोशिश की लेकिन उनमें से कोई अच्छी तरह से काम करता है।

मैं केकेपीएचपी 1.3 का उपयोग कर रहा हूं। किसी भी तरह की सहायता को आभार समझेंगे।

उत्तर

1
Router::connect('/portfolio/page:page_num', 
    array('controller'=>'completed_projects', 'action'=>'index'), 
    array('page_num'=>'[\d]+') 
); 

अपने नियंत्रक में, पहुँच PAGE_NUM साथ:

$this->params['page_num']; 
+0

यह कार्रवाई करने के लिए PAGE_NUM (23) की तरह गुजरता है, लेकिन मैं चाहता हूँ एक नामित पैरामीटर पेज की तरह पारित किया जाना है कि: 2 पारित कर दिया है। वैसे भी मदद करने के लिए विचार करने के लिए धन्यवाद। –

+0

क्षमा करें, आपकी आवश्यकताओं के अनुरूप उत्तर अपडेट करें, उम्मीद है :) – Oscar

+0

धन्यवाद फिर से ऑस्कर। क्या आप कृपया विस्तारित कर सकते हैं कि इस (या किसी भी) चर का उपयोग पेजिनेशन के लिए कैसे किया जा सकता है? नियंत्रक में केवल एक पारित चर प्राप्त करने की आवश्यकता नहीं है। मैं इसे तर्क नामित करना चाहता हूं (जैसे पेज: 33) ताकि इसका उपयोग पेजिनेशन के लिए किया जा सके। क्या यह भी संभव है? –