Frage

I am submitting a form and getting result from model.I want to display the result in phtml file ie the whole collection after submitting need to be in phtml file

Here is my code

Controller

        $this->loadLayout();

    if($this->getRequest()->isPost())
    { 
        $post = $this->getRequest()->getPost();
        $data = array();
        $collection = Mage::getModel('searchservice/service')->getCollection();
        $collection->addFieldToFilter('compstate',array('eq'=>$post['input1']));

        Mage::getSingleton('core/session')->addSuccess(Mage::helper('searchservice')->__('Displaying Your Result'));
        $this->renderLayout();

    }

I want data in an aaray returned from collection filter and use in phtml with foreach.

War es hilfreich?

Lösung

you can use magento registry for setting and getting values as:

set a value (in controller)

Mage::register('var_name',$var_value);

get a value (in phtml/view)

$var_value = Mage::registry('var_name');

more you can find at

http://alanstorm.com/magento_registry_singleton_tutorial
https://stackoverflow.com/a/18157176/725306

Andere Tipps

Here is the solution i found in Controller:

Mage::register('data', $collection);

in view

$data = Mage::registry('data');

so the code becomes

        if($this->getRequest()->isPost())
    { 
        $post = $this->getRequest()->getPost();
        $data = array();
        $collection = Mage::getModel('searchservice/service')->getCollection();
        $collection->addFieldToFilter('compstate',array('eq'=>$post['input1']));
        foreach ($collection as $record) 
        {
            $data[] = $record->getProfileurl();
        }
        Mage::register('data', $data);
        Mage::getSingleton('core/session')->addSuccess(Mage::helper('searchservice')->__('Displaying Your Result'));
        $this->renderLayout();

    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top