Magento: Add custom column in admin grid with own data & filter

29. August 2014 at 13:18

How to create a custom grid filter with a new column with own data (not from collection) and filter this data?

First Step

Enhance the grid, for example extends the Mage_Adminhtml_Block_Catalog_Category_Tab_Product

overwrite the  _prepareColumns() methode with new column

      $this->addColumn('price_yesno', array(
            'header'    => Mage::helper('catalog')->__('Price exist'),
            'sortable'  => true,
            'width'     => '60',
            'index'     => 'price',
            'type'      => 'options',
            'align'     => 'center',
            'renderer'  => 'Fly2mars_Catalog_Block_Adminhtml_Category_Renderer_Hasprice',
            'editable'  => 0,
            'options' => array('1' => 'Yes', '0' => 'No'),
            'filter_condition_callback' => array($this, '_filterHasPrice')
        ));
return Mage_Adminhtml_Block_Widget_Grid::_prepareColumns();

And add in the same class the following callback methode

    protected function _filterHasPrice($collection, $column)
    {
        $value = $column->getFilter()->getValue();
        $collection = $this->getCollection();
        if($value == 1) {
            $collection->addFieldToFilter('price', array('notnull' => true));
        } else {
            $collection->addFieldToFilter('price', array('null' => true));
        }
        return $this;
    }

Second Step

You need the renderer, for this example you add in the file Fly2mars_Catalog_Block_Adminhtml_Category_Renderer_Hasprice

class Fly2mars_Catalog_Block_Adminhtml_Category_Renderer_Hasprice
    extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
    /**
     * Check if product has price
     *
     * @param   Varien_Object
     * @return  string
     */
    protected function _getValue(Varien_Object $row)
    {
        if($row->getData('price') != '') {
            return 'Yes';
        }
        return 'No';
    }
}

that’s it.

Please share this article von facebook & google plus or where you want, thank you!

Google führt neue Suchoptionen ein

2. Oktober 2009 at 17:58

Neue Google OptionGoogle hat seine Suchoptionen erweitert. Ab sofort können die Ergebnisse mit nur zwei Klicks gefiltert, verfeinert und sortiert werden.
Die Sortierung der Suchergebnisse kann z.B. nach Alter sortiert oder nach bereits besuchten und neuen Ergebnissen gefiltert werden.
Derzeit ist die neue Option nur auf der englischen Seite von Google zu finden.

Um den Filter „Visited pages“ und „Not yet visited“ zu benutzen, muss der Nutzer allerdings mit seinem Google-Account eingeloggt sein und die Webhistory aktiviert haben. Damit können schnell die Seiten aus den Suchergebnissen gefunden werden, die schon besucht wurden.

Quelle: golem.de