ZF2

2012-08-24 10 views
16

नियंत्रक कार्रवाई में डिफ़ॉल्ट से अलग एक अलग दृश्य प्रस्तुत करने के लिए कैसे एक अलग दृश्य प्रस्तुत करने के लिए। डिफ़ॉल्ट रूप से यह दृश्य फ़ोल्डर में कार्रवाई के समान दृश्य खोजने का प्रयास करता है लेकिन मैं नियंत्रक कार्रवाई के लिए दृश्य फ़ोल्डर में उपलब्ध विभिन्न दृश्य प्रस्तुत करना चाहता हूं।ZF2

हम ऐसा कर सकते हैं इस तरह ZF1 $this->_helper->viewRenderer('foo');

किसी को भी पता कर सकते हैं, कैसे Zendframework 2 में ऊपर प्राप्त करने के लिए?

हम

$response = $this->getResponse(); 
     $response->setStatusCode(200); 
     $response->setContent("Hello World"); 
     return $response; 

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

उत्तर

44

लगभग हर परिदृश्य कवर करने के लिए उपयोग कर रहा

public function abcAction() 
{ 
    $view = new ViewModel(array('variable'=>$value)); 
    $view->setTemplate('module/controler/action.phtml'); // path to phtml file under view folder 
    return $view; 
} 

धन्यवाद किया जा सकता है akrabat करने के लिए।

+1

http मार्ग और view_manager कॉन्फ़िगर करने के लिए भूल जाते हैं: // zf2test.akrabat.com/ – Developer

+1

https://github.com/akrabat/ZF2TestApp/blob/master/module/Application/config/module.config.php#L78 – Developer

+0

+1, सही उत्तर !!! – SagarPPanchal

2

ज़ेंड फ्रेमवर्क 2 में मेरा समाधान सरल है। इंडेक्स एक्शन मैं पैरांट :: इंडेक्सएक्शन() कन्स्ट्रक्टर बीसीएस ज़ेंड \ एमवीसी \ कंट्रोलर \ सारस्ट्रक्शन नियंत्रक पर कॉल करना पसंद करता हूं। या सूचकांक में रिटर्न सरणी()। जेडएफ निश्चित रूप से index.pthml whitout निश्चित रूप से वापस लौटाएगा निश्चित रूप से वापस आ जाएगा।

वापसी नई ViewManager() ही वापसी सरणी() है

<?php 

namespace Test\Controller; 

use Zend\Mvc\Controller\AbstractActionController, 
    Zend\View\Model\ViewModel; 

// Or if u write Restful web service then use RestfulController 
// use Zend\Mvc\Controller\AbstractRestfulController 

class TestController extends AbstractActionController 
{ 
    /* 
    * Index action 
    * 
    * @return main index.phtml 
    */ 

    public function indexAction() 
    { 
      parent::indexAction(); 

      // or return new ViewModel(); 
      // or much simple return array(); 
    } 

    /* 
    * Add new comment 
    * 
    * @return addComment.phtml 
    */ 

    public function addAction() 
    { 
     $view = new ViewManager(); 
     $view->setTemplate('test/test/addComment.phtml'); // module/Test/view/test/test/ 

     return $view; 
    } 

न में मॉड्यूल/config/module_config

'view_manager' => array(
     'template_path_stack' => array(
      'Test' => __DIR__ . '/../view', 
     ), 
    ), 
संबंधित मुद्दे