Récupérer une collection de produits par type

mars 17th, 2014 | by | magento

Mar
17

Nous allons voir comme récupérer simplement une collection de produits suivant le type (simples, configurables, groupés, composés, virtuels et téléchargeables).
La fonction utilisée est addAttributeToFilter qui sert à filtrer notre collection suivant le ou les attributs choisis.

$produitssimples = Mage::getResourceModel('catalog/product_collection')
                ->addAttributeToFilter('type_id', array('eq' => 'simple'));
 
$produitsconfigurables = Mage::getResourceModel('catalog/product_collection')
                ->addAttributeToFilter('type_id', array('eq' => 'configurable'));
 
$produitsbundle = Mage::getResourceModel('catalog/product_collection')
                ->addAttributeToFilter('type_id', array('eq' => 'bundle'));
 
$produitsgroupes = Mage::getResourceModel('catalog/product_collection')
                ->addAttributeToFilter('type_id', array('eq' => 'grouped'));
 
$produitsvirtuels = Mage::getResourceModel('catalog/product_collection')
                ->addAttributeToFilter('type_id', array('eq' => 'virtual'));

No Comments »

Récupérer le nom, prénom, email (et plus si affinité) d’un client connecté

mars 3rd, 2014 | by | magento

Mar
03

Rien de plus simple, on va d'abord tester si le client est connecté puis récupérer les informations qui nous intéressent.

/* Vérifie si le client est connecté */
if (Mage::getSingleton('customer/session')->isLoggedIn()) {
 
    /* récupérer l'objet client dans la session */
    $customer = Mage::getSingleton('customer/session')->getCustomer();
    /* Le rest vous allez deviner tout seul */
    $fullname = $customer->getName();
    $firstname = $customer->getFirstname();
    $lastname = $customer->getLastname();
    $email = $customer->getEmail();
 
}

No Comments »

Limite du nombre de produits dans le cross selling – Magento

février 17th, 2014 | by | magento

Fév
17

Petite astuce du jour, la limite d'affichage du nombre de produits pour le cross selling qui est de base limité à 4.
Pour une fois ce n'est pas très bien fait...
C'est codé en dur dans le fichier app/code/core/Mage/Checkout/Block/Cart/Crossell.php

class Mage_Checkout_Block_Cart_Crosssell extends Mage_Catalog_Block_Product_Abstract
{
protected $_maxItemCount = 4;

public function getItems()
{
...

Voilà c'est tout 😉

No Comments »

Editeur WYSIWYG et upload de fichiers sur Magento

septembre 11th, 2013 | by | magento

Sep
11

Petite astuce du jour pour ajouter des extensions autorisées à l'upload dans l'éditeur de texte.

Il suffit de modifier le fichier app/code/core/Mage/Cms/etc/config.xml

1
2
3
4
5
6
7
 <allowed>
    <jpg>1</jpg>
    <jpeg>1</jpeg>
    <png>1</png>
    <gif>1</gif>
    <pdf>1</pdf>
</allowed>

Et de rajouter une ligne avec votre extension et un 1 pour l'activer, exemple avec des vidéos .mp4 :

1
2
3
4
5
6
7
8
 <allowed>
    <jpg>1</jpg>
    <jpeg>1</jpeg>
    <png>1</png>
    <gif>1</gif>
    <pdf>1</pdf>
    <mp4>1</mp4>
</allowed>

No Comments »

Fatal error: Call to a member function addToChildGroup() on a non-object

septembre 6th, 2013 | by | magento

Sep
06

Belle petite erreur que voilà aujourd'hui, qui ne nous donne pas beaucoup d'info mais qui est très simple à résoudre.

Fatal error: Call to a member function addToChildGroup() on a non-object 

in MONSITE/app/code/core/Mage/Core/Block/Abstract.php on line 654

Quelque chose me dit que vous avez trifouillé dans les fichiers xml et probablement dans catalog.xml

L'astuce c'est d'ouvrir le fichier avec votre navigateur et celui-ci vous dira où se trouve l'erreur de syntaxe, certainement une balise mal fermée.

Bon templating à tous 😉

No Comments »