Magento, export csv des produits, erreur ‘Undefined index’

 

L’export des produits est buguée sur la version 1.7.0.2 de Magento.

Voici une capture d’écran du message d’erreur obtenu depuis le BO.

Si on regarde dans le fichier de log pour voir ce qu’il se cache derriere ce message « No valid data sent » voici ce que l’on obtient:

exception ‘Exception’ with message ‘Notice: Undefined index:    in /store/app/code/core/Mage/ImportExport/Model/Export/Entity/Product.php on line 539′

A la ligne 532 dans Product.php:

protected function _updateDataWithCategoryColumns(&$dataRow, &$rowCategories, $productId)
{
if (!isset($rowCategories[$productId])) {
return false;
}

$categoryId = array_shift($rowCategories[$productId]);
$dataRow[self::COL_ROOT_CATEGORY] = $this->_rootCategories[$categoryId];
if (isset($this->_categories[$categoryId])) {
$dataRow[self::COL_CATEGORY] = $this->_categories[$categoryId];
}

return true;

}

 

à remplacer par:

protected function _updateDataWithCategoryColumns(&$dataRow, &$rowCategories, $productId)
{
if (!isset($rowCategories[$productId]) or empty($rowCategories[$productId])) {
return false;
}

$categoryId = array_shift($rowCategories[$productId]);
$dataRow[self::COL_ROOT_CATEGORY] = $this->_rootCategories[$categoryId];
if (isset($this->_categories[$categoryId])) {
$dataRow[self::COL_CATEGORY] = $this->_categories[$categoryId];
}

return true;

}

 

Voila le problème est résolu.

Posted in Magento, Web en boite | Tagged | Laisser un commentaire

Magento related product up-sell product cross-sell product

Liaisons des produits 

L’objectif de la liaison des produits est clairement d’augmenter le nombre d’articles vendus en proposant de différentes manières des produits supplémentaires.

Trois type de liaisons de produits sont disponibles: related product, up-sell product et cross-sell product.

Tous les types de liaisons suivant sont à sens unique. C’est à dire qu’un produit A peut être lié à un produit B, sans que le produit B ne soit lié au produit A. Elle sont ajoutées a un produit depuis le Back Office dans la gestion des produits.

Related produt

En français « produit apparenté »

Description

C’est un produit qui pourait interresser le client car il a une relation forte avec celui en cours de consultation.

Les exemples

Une coque de protection, une sacoche de transport, un deuxième objectif etc…

L’affichage

ils apparaissent sur la fiche produit en cours de consultation (dans la sidebar) et peuvent êtrent directement ajoutès au panier par le client. Ou avec un systeme de cases a cocher, dans ce cas tous les produits apparentès selectionnès s’ajouterons au panier en même temps que le produit en cours de consultation.

 

Up-sell product

En français « produit en vente incitative »

Description

C’est un produit que le commerçant veut mettre en avant, que le client pourrait acheter à la place du produit en cours de consultation. Dans la plupart des cas on retrouvera des produit de gamme égale ou supérieure.

Les exemples

Un pc portable de même marque mais avec un processeur plus puissant, le même flacon de parfum mais plus grand etc..

L’affichage

ils apparaissent en bas de page sur la fiche produit en cours de consultation après les détails de celui-ci.

 

Cross-sell product

En français « produit en vente croisé »

Description

C’est la dernière chance pour le commerçant que le client ajoute un produit supplémentaire a sa commande. Cette liaison apparaissant dans la page panier. C’est en quelque sorte les produits que le client qu’il a oublié ou qu’il pourrait acheter en sus.

Les exemples

Proposer l’achat d’une brouette si le client a acheté un râteau  Ou d’une machine a pop-corn pour l’achat d’un grand écran plasma. :)

L’affichage

Comme dit ci-dessus, cette liaison apparaît dans la page panier. Par défaut ils ne peuvent être ajoutés qu’un par un et sans nécessairement consulter la fiche produit.

Posted in Magento, Web en boite | Tagged | Laisser un commentaire

Debug magento, afficher la valeur des variables

 

Cet article  liste les fonctions utiles pour afficher la valeur des variables Magento, essentiellement sur le front office.

En quelque sorte une cheatsheet du dump Magento.

 

Afficher la classe d’un l’objet

<?php Zend_Debug::dump(get_class($object), 'get_class') ?>

 

Afficher le contenu d’une variable

<?php Zend_Debug::dump($object, 'debug') ?>

 

Afficher les objets qui sont chargès dans un template

<?php Zend_Debug::dump($this->debug(), 'debug') ?>

 

Afficher tous les attributs d’un produit

<?php Zend_Debug::dump($_product->getData()) ?>

 

Afficher la valeur d’un attribut produit

<?php Zend_Debug::dump($_product->getData('attribute_name')) ?>

 

Afficher la valeur d’un attribut produit (bis)

<?php Zend_Debug::dump($_product->getAttributeName()) ?>

Posted in Magento, Web en boite | Tagged | Laisser un commentaire

Jquery, Arreter la propagation des évènements.

 

Le constructeur jQuery.Event peut être utilisé lors de l’ appel par un trigger.

Grace au gestionnaire d’évènement de jquery il est possible d’arrêter la propagation des évènements.

Il existe 3 méthodes pour cela, chacune avec un comportement différent.

 

event.preventDefault()

Empêche le comportement par défaut du navigateur sur le click, pour un lien ou une soumission de formulaire. L’appel d’un lien n’aura pas lieu, les formulaires ne seront pas envoyés. Pratique pour les phases de tests.

 

event.stopPropagation()

Stop la propagation de l’évènement dans le DOM évitant les gestionnaires parents d’être informés de l’évènement.

 

event.stopImmediatePropagation()

Empêche la propagation de l’évènement dans le DOM avec un appel implicite a event.stopPropagation(). Empêche également l’exécution d’autres gestionnaires d’évènements sur le même élément.

Posted in Web en boite | Tagged , | Laisser un commentaire

Socket.io, Cannot found module socket.io

Cannot find module ‘socket.io’

Si vous tombez sur ce message d’erreur c’est surement que vous tentez d’utiliser le module socket.io pour nodejs.

Commencez par vous assurer d’avoir bien ce module. Pour le télécharger est l’installer automatiquement exécutez la commande suivante (depuis node.exe si vous êtes sous Windows) :

 npm install socket.io 

Ou npm est censé allé chercher les modules ?

Pour le savoir exécutez la commande suivante:

 npm root 

Le chemin qui est renvoyé par cette commande correspond bien au répertoire  »node_modules » qui se trouve sur votre machine?

Si ce n’est pas le cas c’est peut-être dû au fait que vous utilisez plusieurs partitions ou disques dur. Dans ce cas il faudra lancer la commande :

  npm install socket.io 

sur la même partition ou s’exécute votre script serveur.

Nb : L’emplacement n’est pas nécessairement a la racine de la partition.

Posted in Web en boite | Laisser un commentaire

Quake 3 code source passé en revue

Pour ce qui ne connaîtraient pas Quake 3, c’est l’un des plus célèbre jeux FPS. Sorti en Décembre 1999 avec un gameplay jamais égalé. Le gameplay du jeu est tellement abouti qu’un mode spécial fut créé, le mode « Defrag » dont le seul but consiste à parcourir une map le plus rapidement possible, ou à réaliser des tricks. Le jeux est propulsé par le moteur graphique idtech3 appelé aussi Quak3 engine. Il a été programmé par le monsieur Id software, Jhon Carmack. Quake 3 est aujourd’hui rebaptisé Quakelive, jeux gratuit en ligne qui se joue directement depuis un navigateur, comptant plusieurs centaines de milliers de joueurs connectés à travers toute la planète.

Fabien Sanglard nous propose un introspective du code source idtech3, à voir [ici]

En 5 chapitres :

1- L’architecture

2-Materials

3-Network

4-New virtual machines

5-Artifial Intelligence

 

Posted in Web en boite | Laisser un commentaire

Apprendre Git en 15 Minutes

Apprendre Git en 15 minutes sous forme de challenge c’est ce que propose ce site.

Pas mal pour une approche des commandes Git pour gérer ensuite son Github.

Posted in Web en boite | Laisser un commentaire

Highlight.js et wp-highlight pour wordpress

Highlight.js permet de mettre en évidence du code sur un blog. Par exemple si vous décidez de faire un tuto sur PHP en mettant quelques exemples de fonctions, il est préférable que ce code apparaisse différemment du reste du texte.

Voici un exemple :

<div>exemple de code avec highlight.js</div>

 
Plusieurs addons existent pour faciliter l’integration d’higlight.js sur un blog [ici]

Intégrer Highlight.js sur un blog WordPress :

1- Téléchargez wp-highlight depuis l’interface d’administration du blog.

Extensions > Ajouter et faites une recherche sur le plugin « wp-higlight » puis lancez l’installation.

2-Réglages et options, vous pouvez définir entre autre le theme qui sera utilisé par l’addons.

Extensions > wp-hightlight > Réglages

 

3- Utilisation

Rédiger un nouvel article avec l’onglet « Visuel » actif, ajouter une portion de code qui devra être mise en évidence. Puis passé à l’onglet « HTML ». Entourez le code des balises suivantes: [ code lang="html"]<div>blabla<div>[ /code]. Et voila le tour est joué.

Plus de 50 langages sont pris en charges et une vingtaines de themes sont disponnibles.

 

Utilisation classique

Highlight.js peut aussi s’utiliser sur n’importe quel site web de façon classique. Il faudra inclure le fichier javascript, le css, et faire appel a la fonction initHighlightingOnLoad() en début de page comme ceci :

<link rel="stylesheet" href="styles/default.css">
<script type="text/javascript" src="highlight.pack.js"></script>
<script type="text/javascript">
// <![CDATA[
hljs.initHighlightingOnLoad();
// ]]></script>
Posted in Web en boite | Laisser un commentaire

CodePen editor online HTML CSS JS

Je viens tout juste de tester CodePen et je dois dire que … Whao !

Cet éditeur HTML, CSS, Javascript en ligne a vraiment tout pour plaire, c’est impressionnant.

Utilisation:

Très intuitif il ne faudra pas longtemps pour le prendre en main.

Le premier volet pour l’édition du code HTML / HAML / Markdown / SLIM, avec prise  en charge du  Zencoding !!

Le deuxième la aussi c’est un merveille. Edition du CSS / SASS+Compass / SCSS+compass/ LESS  les erreurs de scripts sont automiquement affichées.La touche Alt ouvre un color picker, la couleur selectionnée est directement introduite dans le code en hexa.

Le troisième pour le JS / COFFEESCRIPT / JQUERY / MOTOOLS / PROTOTYPE.

Et enfin le quatrième pour l’aperçu. Inutile de rafraîchir la page, car CodePen le fait pour vous automatiquement.

Si par malheur vous fermez CodePen, vous pouvez reprendre votre code que vous n’aviez pas enregistré en revenant sur la page http://codepen.io/pen/

Posted in Web en boite | Laisser un commentaire

Brackets, text editor

 

Je viens de tomber sur un nouvel éditeur de code HTML, CSS Javascript.

Son nom : Brackets,  gratuit et open source, developpé est maintenu par Adobe.

Les 3 points principaux qui démarque Brackets des autres éditeurs.

1 Priorité au code, l’interface est épurée au maximum pour permettre un développement rapide sans avoir une multitude d’icones qui occupent tout l’espace. Il est possible d’éditer le contenu du fichier CSS depuis le fichier HTML. On se place sur un element, la commande CTRL+E ouvre une fenêtre d’édition rapide du css rattaché à cet élément.

2 Et la je trouve ça énorme, c’est la synchronisation de l’éditeur avec le navigateur et vise vers ça (icone en forme d’éclair en haut a droite). Pas besoin d’installer d’installer d’extension ou un soft, tout est pris en charge par Brackets. Les modifications html ou css dans Brackets sont automatiquement afficher dans le navigateur. De même si on modifie le code depuis le navigateur avec l’outil de développement les modifications seront rapportés dans le code.

3 Brackets est open source, développé en Html, Css et Javascript. Adobe appel à la participation des développeurs pour faire évoluer Brackets. Il ne serait pas étonnant de voir rapidement arriver les mêmes types de plugins que l’on trouve sur Sublime Text2.

 

Voila perso j’aimerais avoir la possibilité de modifier le theme, et de pouvoir utiliser zend-coding pour le CSS et ça serait parfait.

Pour finir sachez que tous les projets d’Adobe concernent le web sont disponnibles [ici]

les liens pour Brackets :

le site

le blog

github

twitter

Lee BrimelowMihai Corlan (evangelistes Adobe)

 

Posted in Web en boite | Laisser un commentaire