title: product collection toolbar with request params in magento custom module
body: <p><a href="https://i.stack.imgur.com/ugeCE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ugeCE.png" alt="enter image description here"></a></p>
  
  <p><a href="https://i.stack.imgur.com/IkcZw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/IkcZw.png" alt="enter image description here"></a></p>
  
  <p>I have a filter named CARTRIDGE FINDER. When I click button,FIND MY CARTRIDGE by selecting printer series dropdown, then it shows product collection with product list toolbar correctly and nicely. But when I sort by name or price or view as list, it shows There are no products matching the selection. Here my custom (manufacturer) module's layout file's code is given below:</p>
  
  <pre><code>&lt;manufacturer_index_filter&gt;
    &lt;reference name="root"&gt;
          &lt;action method="setTemplate"&gt;&lt;template&gt;page/2columns-left.phtml&lt;/template&gt;&lt;/action&gt;
    &lt;/reference&gt;
  &lt;reference name="content"&gt;
         &lt;block type="manufacturer/custom" name="printer_filter" template="manufacturer/brand_filter_result.phtml"/&gt; 
  &lt;/reference&gt;
  </code></pre>
  
  <p>
  And the code of module's (manufacturer) block file, Custom.php is given below:`class Bubmania_Manufacturer_Block_Custom extends Mage_Core_Block_Template
  {public function __construct()
      {
          parent::__construct();$printer = $this->getRequest()->getParams();$make_a_printer_op_val = $printer['make_a_printer'];$printer_series = $printer['printer_series'];
          $printer_model_no = $printer['printer_model_no'];</p>
  
  <pre><code>    $collection = Mage::getModel('catalog/product')-&gt;getCollection();
      $collection-&gt;addAttributeToSelect('*'); 
      $collection-&gt;addAttributeToSort('created_at', 'desc');
      $collection-&gt;addAttributeToFilter(array(
          array('attribute'=&gt;'manufacturer','eq'=&gt;$make_a_printer_op_val),
          array('attribute'=&gt;'printerseries','eq'=&gt;$printer_series), 
          array('attribute'=&gt;'printermodelnumber','eq'=&gt;$printer_model_no),
      ));
      $collection-&gt;addAttributeToFilter('status', 1);$this-&gt;setCollection($collection); /* parent::__construct();
  
      $collection = Mage::getModel('catalog/product')-&gt;getCollection();
      $collection-&gt;addAttributeToSelect('*')
                 -&gt;addFieldToFilter('visibility', array(
                             Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
                             Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG
                 )); //showing just products visible in catalog or both search and catalog
          $this-&gt;setCollection($collection); */}
  </code></pre>
  
  <p>protected function _prepareLayout(){
          parent::_prepareLayout();</p>
  
  <pre><code>    //$toolbar = $this-&gt;getToolbarBlock();
      $toolbar = Mage::getBlockSingleton('catalog/product_list')-&gt;getToolbarBlock();
  
      // called prepare sortable parameters
      $collection = $this-&gt;getCollection();
  
      // use sortable parameters
      if ($orders = $this-&gt;getAvailableOrders()) {
          $toolbar-&gt;setAvailableOrders($orders);
      }
      if ($sort = $this-&gt;getSortBy()) {
          $toolbar-&gt;setDefaultOrder($sort);
      }
      if ($dir = $this-&gt;getDefaultDirection()) {
          $toolbar-&gt;setDefaultDirection($dir);
      }
      $toolbar-&gt;setCollection($collection);
  
      $this-&gt;setChild('toolbar', $toolbar);
      $this-&gt;getCollection()-&gt;load();
      return $this;
  }public function getDefaultDirection(){
      return 'asc';
  }
  </code></pre>
  
  <p>public function getAvailableOrders(){
          //return array('created_time'=> 'Created Time','update_time'=>'Updated Time','collection_id'=>'ID', 'name'=>'Name');
          return array('name'=> 'Name','position'=>'Position','price'=>'Price'); 
      }
      public function getSortBy(){
          return 'name';
      }
      public function getToolbarBlock()
      {
          $block = $this->getLayout()->createBlock('manufacturer/toolbar', microtime());
          return $block;
      }
      public function getMode()
      {
          return $this->getChild('toolbar')->getCurrentMode();
      }</p>
  
  <pre><code>public function getToolbarHtml()
  {
      return $this-&gt;getChildHtml('toolbar');
  }}`
  </code></pre>
  
  <p>But when It runs only with Mage::getModel('catalog/product')->getCollection(), not params, then it runs successfully with product collection toolbar. I need to set params in this toolbar. How to do this. If any one knows this point, please reply me as soon as possible. I have googled a lot. But there is no a specific result.
  Thank you</p>