blog sur le développement web, jquery,css3, Magento, Symphony, php et bien d'autres choses

Archives de la catégorie ‘Magento’

Magento : comment exécuter une simple requete sql select dans votre base sql

Voici un petit mémo pour éxecuter une requête sql select dans magento


$resource   = Mage::getSingleton('core/resource');
$read       = $resource->getConnection('core_read');

$read->select('nom_de_la_table')
     ->where('colonneA=?', $paramA)
     ->where('colonneB=?', $paramB )
     ->where('colonneC=?', $paramC);

$result = $select->query();
$arRow  = $result->fetchAll();

// si j'ai des enregistrements je retourne true (par exemple)
if(count($arRow) > 0) {
      return true;
}
//sinon je retourne false
return false;

Magento : comment surcharger le core de magento pour un model, un bloc ou un helper

Pour ceux qui sont débutant en magento et qui souhaitent comprendre comment on surcharge le core de magento afin de ne pas le modifier directement voici un très bon article qui synthétise les différente méthodes de surcharge du core de magento.

Je rappelle que la surcharge permet d’étendre les fonctionnalités natives de magento sans  toucher au core (coeur) de magento.

vous apprendrez à surcharger un bloc un model, un controleur ou un helper magento et les différents type de surcharge.

vous le trouverez sur ce blog magento : http://www.magentix.fr

lien vers l’article traitant de la surcharge du core de magento

Magento : Remplir un grid avec des données qui ne proviennent pas d’un model / Grid with custom Data Collection

logo magento feed grid with custom data

Si vous possédez un tableau de données persos ne provenant pas d’un model Magento, voici un exemple pour créer une collection à partir de vos données et ainsi les afficher dans le grid.

class Namespace_Result_Grid 
extends Mage_Adminhtml_Block_Widget_Grid
{
    protected $_collection;
    /**
     * @see Mage_Adminhtml_Block_Widget_Grid::__construct()
     */
    public function __construct()
    {
        parent::__construct();
        $this->setId('rangeResultGrid');
        $this->setUseAjax(true);
        $this->setDefaultSort('code');
        $this->setDefaultDir('ASC');
        $this->setPagerVisibility(false);
        $this->setFilterVisibility(false);
    }

    /**
     * @see Mage_Adminhtml_Block_Widget_Grid::_prepareCollection()
     */
    protected function _prepareCollection()
    {
        $this->_collection = new Varien_Data_Collection();
        $this->_loadCollection();
        $this->setCollection($this->_collection);
        return parent::_prepareCollection();
    }

    protected function _loadCollection()
    {
        $object = new Varien_Object();
        $object->setData('checked','1');
        $object->setData('columna','a');
        $object->setData('columnb','b');
        $object->setData('columnc','c');
        $this->_collection->addItem($object);
    }

    protected function _prepareColumns()
    {
        $this->addColumn('in_selection', array(
                'header_css_class' => 'a-center',
                'type'      => 'checkbox',
                'name'      => 'in_selection',
                'field_name'=> 'in_selection[]',
                'value'     => '1',
                'align'     => 'center',
                'index'     => 'checked',
                'width'     =>  '20px',
        ));

        $this->addColumn(
            'fielda',
            array(
                'header' => Mage::helper('sp_grm')->__('Column A'),
                'align'     =>  'left',
                'width'     =>  '50px',
                'index'     =>  'columna',
            )
        );

        $this->addColumn(
            'fieldb',
            array(
                'header'=> Mage::helper('sp_grm')->__('Column B'),
                'align' =>  'left',
                'width' =>  '50px',
                'index' =>  'columnb',
            )
        );

        $this->addColumn(
            'fieldc',
            array(
                'header' =>  Mage::helper('sp_grm')->__('Column C'),
                'align'  =>  'left',
                'width'  =>  '50px',
                'index'  =>  'columnc',
            )
        );

        return parent::_prepareColumns();
    }
}