MAGexpert : les experts en développement Magento
18fév/100

Ajouter un PDF dans une catégorie avec fckeditor

Allez dans : Gérer les catégories

Sélectionnez votre catégorie dans l'arbre des catégories.

Allez jusqu'au champ Description :

Écrivez le texte sur lequel vous voulez créer un lien puis sélectionnez le.

Cliquez sur 'Insérer/modifier le lien' :

Une fenêtre va s'ouvrir

Cliquez sur 'Parcourir le serveur', une fenêtre s'ouvre :

Ceci est un explorateur de fichier classique, vous pouvez envoyer vos fiches directement sur le serveur à l'aide du bouton 'parcourir' et upload en bas de la fenêtre.

Une fois votre fichier envoyé, il apparait dans l'explorateur il vous suffit juste de cliquer dessus pour revenir à la fenêtre précédente :

Pour que le lien s'ouvre dans une nouvelle fenêtre il faut aller dans l'onglet Destination et choisir Nouvelle fenêtre (_blank)

Cliquez sur OK et normalement, votre texte apparait sous la forme d'un lien.

Cette explication n'est valable que pour les instances de Magento installés avec le module fckeditor.

2fév/103

Comment supprimer une commande terminée dans Magento ?

Une question que beaucoup de personnes se posent, comment supprimer une commande terminée avec une facture dans Magento ?

La réponse se trouve dans la base de données.

Avant toute opération dans la base de données, vous devez impérativement réaliser une sauvegarde de votre base de donnée via l'outil de magento : Système -> Outils -> Sauvergades. Puis le bouton "Créer une sauvegarde".

Une fois la sauvegarde réalisée, retrouver les accès base de données phpmyadmin fournis par votre hébergeur.

Connectez-vous sur votre interface phpmyadmin et copiez / collez les requêtes suivantes :

-- Renseigner votre numéro de commande ici
set @increment_id=100000025;
-- Récupère l'id de la commande en interne
select @order_id:=entity_id from sales_order where increment_id=@increment_id;
-- Supprime la commande
delete from sales_order where entity_id=@order_id;
-- Supprime tous les enregistrements en relation avec la commande
delete from sales_order_entity where parent_id=@order_id;
-- Supprime les factures, remboursement, expéditions en relation avec la commande
delete s from sales_order_entity s
join sales_order_entity_int si on s.entity_id = si.entity_id
join eav_attribute a on si.attribute_id = a.attribute_id
where a.attribute_code = 'order_id'
and si.value = @order_id;
-- Supprime les enregistrements dans la tables des produits commandés
delete from sales_flat_order_item where order_id=@order_id;

Vous avez un doute ? la crainte de faire une erreur ? Contactez nous, nous vous proposerons un contrat maintenance.

2fév/103

Ajouter méthode de paiement dans la vue des commandes Magento

Une question qui revient souvent dans magento, par quel mode de paiement mon client a t'il payé ?

Vous pouvez retrouver cette information en ouvrant une commande dans le cadre "mode de paiement".

Mais ne serait il pas possible de modifier l'affichage de la liste des commandes en ajoutant la colonne "mode de paiement" ?

La réponse se trouve ici. Voici un aperçu de la modification :

Capture

Pour obtenir ce résultat, vous devez d'abord commencer par copier le fichier suivant :

\app\code\core\Mage\Adminhtml\Block\Sales\Order\Grid.php

vers

\app\code\local\Mage\Adminhtml\Block\Sales\Order\Grid.php

Puis l'éditer :

\app\code\local\Mage\Adminhtml\Block\Sales\Order\Grid.php - Ligne 47

protected function _prepareCollection()
    {
       //TODO: add full name logic
        $res = Mage::getResourceModel("sales/order_payment");

        $paymentWhere = array("entity_type_id" => $res->getTypeId());

        $attributes =$res->loadAllAttributes()->getAttributesByCode();

         foreach ($attributes as $attrCode=>$attr) {
            if ($attr->getAttributeCode()=="method"){
                $attId = $attr->getAttributeId();
            }

        }
        $paymentMethodWhere = "{{table}}.attribute_id = '$attId'";

        $collection = Mage::getResourceModel('sales/order_collection')
            ->addAttributeToSelect('*')
            ->joinAttribute('billing_firstname', 'order_address/firstname', 'billing_address_id', null, 'left')
            ->joinAttribute('billing_lastname', 'order_address/lastname', 'billing_address_id', null, 'left')
            ->joinAttribute('shipping_firstname', 'order_address/firstname', 'shipping_address_id', null, 'left')
            ->joinAttribute('shipping_lastname', 'order_address/lastname', 'shipping_address_id', null, 'left')

                        ->joinTable('sales_order_entity', 'parent_id=entity_id', array( 'quote_payment_id_for_join' => 'entity_id' ) , $paymentWhere, 'left' )
            ->joinTable('sales_order_entity_varchar', 'entity_id=quote_payment_id_for_join', array( 'payment' => 'value' ) , $paymentMethodWhere, 'left' )

            ->addExpressionAttributeToSelect('billing_name',
                'CONCAT({{billing_firstname}}, " ", {{billing_lastname}})',
                array('billing_firstname', 'billing_lastname'))
            ->addExpressionAttributeToSelect('shipping_name',
                'CONCAT({{shipping_firstname}}, " ", {{shipping_lastname}})',
                array('shipping_firstname', 'shipping_lastname'));
        $this->setCollection($collection);
        return parent::_prepareCollection();
    }

\app\code\local\Mage\Adminhtml\Block\Sales\Order\Grid.php - Ligne 139

		$this->addColumn('payment', array(
		'header' => Mage::helper('sales')->__('Mode de Paiement'),
		'index' => 'payment',
		));

Une fois la modification réalisée, sauvegardez le fichier puis rendez vous dans votre administration et la modification doit apparaitre.

Rafraichissez le cache si la colonne n'est pas apparue.

Vous avez un doute ? la crainte de faire une erreur ? Contactez nous, nous vous proposerons un contrat d'assistance/maintenance.

2fév/102

Changer le statut d’une commande dans Magento

Bonjour,

Vous avez une commande de bloqué sur le statut "en attente" ou "en cours de traitement" ou
pire encore il n'y a plus de statut ?

Et magento ne vous offre aucune possibilité de facturer la commande, comment résoudre ce problème ?

Voici une astuce permettant de modifier le statut de la commande à n'importe qu'elle étape.

magento-statut-commande

Pour cela vous devez modifier un fichier de configuration du core de magento. (en surcharge c'est plus propre !)

Fichier : app\code\core\Mage\Sales\etc\config.xml

Trouvez la ligne 554


  
    
    

    
  

    
    

    
  
  
    
    
      
    
  
  
    
    
      
    
  
  
    
    
      
    
  
  
    
    
      
    
  

Remplacez par :


  
    
    


      
      
      
      
    
  

    
    


      
      
      
      
    
  

    
    


      
      
      
      
    
  
  
    
    
      


      
      
      
    
  
  
    
    


      
      
      
      
    
  
  
    
    


      
      
      
      
    
  
  
    
      


      
      
      
      
    
  

Une fois la modification réalisée, sauvegardez le fichier puis rendez vous dans votre administration et la modification doit apparaitre.

Rafraichissez le cache si la colonne n'est pas apparue.

Vous avez un doute ? la crainte de faire une erreur ? Contactez nous, nous vous proposerons un contrat d'assistance/maintenance.