2012-08-11 44 views
7

TLDR: कंट्रोलर में एक यूआरएल कैसे बनाएं, मैं कंट्रोलर में एक यूआरएल कैसे बना सकता हूं जैसे कि मैं दृश्य में यूआरएल बनाने के लिए एचटीएमएलहेल्पर का उपयोग कैसे कर सकता हूं?HtmlHelper


समस्या:

मैं, (क्योंकि मैं अपने नियंत्रक में मेरी JSON स्ट्रिंग बनाने के लिए, एक दृश्य में शामिल नहीं) नियंत्रक कार्रवाई का यूआरएल मुद्रित करने के लिए मेरी नियंत्रक में

में चाहते हैं View, मैं $this->Html->url() का उपयोग कर सकता हूं, लेकिन नियंत्रक में क्या है?

मैं लगातार की तरह APP_DIR + नियंत्रक नाम + नियंत्रक कार्रवाई परिभाषित इस्तेमाल करना चाहिए?)

उत्तर

30

रूटर वर्ग का प्रयोग करें।

$url = Router::url([ 
    'controller' => 'Articles', 
    'action' => 'index', 
    '?' => ['page' => 1], 
    '#' => 'top' 
]); 

या एक ही बात है, लेकिन एक अधिक सामान्य/साधारण स्थिति में:

$url = Router::url(['controller' => 'Articles', 'action' => 'index']); 

नोट: Cake2.x में, "लेख" लोअरकेस होगा।


CakePHP 2.x Router documentation

CakePHP 3.x 'Generating URLs' documentation

+1

इस स्वीकार किया जाना चाहिए, अच्छा काम करता है। (केकेपीएचपी 2.4.5 का उपयोग करके) – CREE7EN

+1

रूटिंग क्लास का उपयोग करना याद रखें: 'केक \ रूटिंग \ राउटर का उपयोग करें; ' –