2009-04-21 5 views
6

के साथ स्थैतिक पृष्ठों की सेवा कैसे करें हम वर्तमान में हमारी वेबसाइट पर ज़ेंड फ्रेमवर्क और एमवीसी पैटर्न को नियोजित करते हैं। हमारे पास बड़ी संख्या में स्थैतिक पृष्ठ हैं, जो साइट के यादृच्छिक क्षेत्रों में हैं। ये पृष्ठ सरल HTML पृष्ठ नहीं हैं जो ZF को पूरी तरह से बाईपास कर सकते हैं ... वे Zend_Layout, आदि में भाग लेंगेज़ेंड फ्रेमवर्क

प्रत्येक पृष्ठ के लिए अलग-अलग क्रिया/नियंत्रक के बिना इन पृष्ठों को प्रस्तुत करने का सबसे अच्छा तरीका क्या है? पृष्ठों के लेआउट को फिर से शुरू करना ताकि वे सभी "Misc" नियंत्रक के अंतर्गत आते हैं या कुछ विकल्प नहीं है, पृष्ठों को एसईओ उद्देश्यों के लिए हमारे यूआरएल पदानुक्रम में रहने की जरूरत है।

+0

स्थिर लेकिन यादृच्छिक? इसे नहीं मिला? एक नियंत्रक/कार्रवाई से शामिल के रूप में उनकी सेवा के बारे में क्या? – markus

+1

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

+0

मैं लगभग निश्चित हूं कि उसका मतलब एक स्थिर पृष्ठ नियंत्रक है जो यूआरएल के आधार पर विचारों को प्रस्तुत करता है। डोमेन.com/pages/about/us की तरह /views/pages/about/us.html देखें। मेरा मानना ​​है कि अधिकांश ढांचे के साथ बॉक्स के बाहर आता है, ज़ेन इसे क्यों मुश्किल बनाता है? रेफरी: http://book.cakephp.org/view/958/The- पेज- नियंत्रक –

उत्तर

6

अगर मैं ठीक से सवाल समझ में:

  • आप स्थैतिक सामग्री आप के लिए अपने लेआउट लागू करना चाहते हैं का एक समूह है।
  • स्थैतिक सामग्री के इन पृष्ठों पहले से ही विद्यमान यूआरएल है आप को तोड़ने के लिए नहीं करना चाहती

Zend वास्तव में $ controller-> कार्रवाई() से URL को अलग करती है, यह सिर्फ इतना है Zend का MVC हिस्सा एक डिफ़ॉल्ट है ऐसा करने के लिए सेटिंग। आप अभी भी एक "मिस्क" नियंत्रक बना सकते हैं जो किसी भी यादृच्छिक यूआरएल प्राप्त करता है, आपको बस कुछ कस्टम मार्गों को परिभाषित करने की आवश्यकता है।

http://framework.zend.com/manual/en/zend.controller.router.html

के हवाले से उदाहरण Zend फ्रेमवर्क साइट:

$route = new Zend_Controller_Router_Route_Static(
    'login', 
    array('controller' => 'auth', 'action' => 'login') 
); 
$router->addRoute('login', $route); 

मार्ग से ऊपर http://domain.com/login का URL loginAction से मेल खाते हैं, और AuthController को भेजेंगे ::()।

पैटर्न मिलान का उपयोग करके अधिक महत्वाकांक्षी उदाहरण एक ही पृष्ठ पर पाए जा सकते हैं।