herve

Magento : Utiliser l’éditeur wysiwyg sur un champ d’administration personnalisé

Si lors de la création d’un nouveau module, vous souhaitez utiliser l’éditeur wysiwyg de magento sur un champ personnalisé dans l’administration, voici un code rapide et pratique à mettre en place.

Dans le controller qui éxecute le formulaire d’ajout/édition de votre module rajouter la ligne suivante :

if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
$this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
}

Dans la configuration de votre formulaire adaptez le code suivant :

$fieldset->addField('page_content', '<strong>editor</strong>', array(
'label' => Mage::helper('etatpur_cms')->__('content'),
'required' => true,
'name' => 'page_content',
'style' => 'height:36em;',
'wysiwyg' => true,
'config' => Mage::getSingleton('cms/wysiwyg_config')->getConfig(),
));

Et voila vous avez à présent un bel éditeur wysiwyg sur votre champ 🙂

Editeur wysiwyg sur champ personnalisé magento

Attention :
J’ai rencontré des problèmes dans le cas ou le champ sur lequel je souhaitais appliquer l’éditeur était intitulé content , dans ce cas l’éditeur était appliqué sur le mauvais champ, ce qui rendait l’édition impossible.…

Magento : Utiliser l’éditeur wysiwyg sur un champ d’administration personnalisé Lire la suite »

Utilisation des svn keywords

Petite astuce pratique aujourd’hui dans l’utilisation de subversion avec Toirtoise Svn.

Si comme moi vous vous êtes déjà demandé à quoi correspondait ce type d’information dans les entêtes d’un fichier php

/**
 * $Revision: 309 $
 * Last-Modified : $Date: 2012-07-24 10:53:07 +0200 (mar., 24 juil. 2012) $
 * Id : $Id: list.phtml 309 2012-07-24 08:53:07Z herve $
 */

Ces infos correspondent aux keywords svn et sont automatiquement remplacées par les bonnes valeurs pour les fichiers modifiés lors d’un commit des modifications.

Pour bénéficier de ces informations voici comment procéder avec Toirtoise Svn :

Pour commencer faites un clic droit sur le répertoire racine de votre dépôt.
Puis dans les options « Toirtoise SVN » cliquer sur « Properties ».

La fenêtre suivante est ensuite affichée :

Svn Properties

Cliquer sur « New ».
Dans property name sélectionner « svn:keywords ».

Les options disponibles sont les suivantes :

  • URL,Head url : Url de base du projet
  • Author,LastChangedBy : Auteur de la dernière modification du fichier
  • Date,LastChangedDate : Date et heure de la dernière modification du fichier
  • Rev,LastChangedRevision : Dernière révision  ou le fichier a été modifié
  • Id : Résumé des 4 mots-clé précédents.

Utilisation des svn keywords Lire la suite »

Mantis bugtracker : changer le projet d’un bug depuis le formulaire de modification.

Petite astuce rapide, mais relativement pratique lorsque l’on travaille avec plusieurs projets avec mantis bugtracker, il est courant de saisir un bug dans le mauvais projet.
Pour corriger cela, il n’existe qu’un seul moyen, éditer directement ces informations dans la base de données…
Pas très pratique vous en conviendrez !

Pour faciliter cela quelques modifications suffisent :

Pour commencer nous allons éditer le fichier bug_update_advanced_page.php situé à la racine du dossier.

A la ligne 120 ( Avant le début du formulaire d’édition), rajoutez le code suivant :

#  Formulaire pour changer le projet d'un bug
echo '<form action="bug_update_change_project_page.php" name="form_bug_update_change_project" method="post" >
<input type="hidden" name="bug_id" value="',$f_bug_id,'" />
<input type="hidden" name="new_project_id" id="new_project_id" value="0" />
</form>';
# Fin Formulaire

Remplacez ensuite les lignes suivantes :

# Project Name
echo '<td>', $tpl_project_name, '</td>';

par

#Possibilité de changer le projet du bug
echo '<td>', $tpl_project_name,'<br />',
lang_get('change_project'),'&nbsp;
<select id="select_change_project_id" onchange="document.getElementById(\'new_project_id\').value

Mantis bugtracker : changer le projet d’un bug depuis le formulaire de modification. Lire la suite »

Magento : Configurer un montant maximum de commande

Edit 2015 :
Cette solution est datée, et n’est pas la plus pratique.
Préférez plutôt la solution proposée par le lien suivant : http://inchoo.net/magento/magento-maximum-allowed-order-amount/

Si pour une raison x ou y vous souhaitez limiter le montant maximum des commandes réalisées sur votre site ecommerce magentento, voici une solution rapide pour réaliser cette action.
( cette modification a été mise en place sur une version 1.4.1.1 de magento )

Pour réaliser cette action, nous allons ajouter une vérification du montant du panier, avant l’ajout de nouveaux éléments à celui-ci.
Ce comportement est géré dans le modèle du panier situé dans le fichier suivant app/code/core/Mage/Checkout/Model/Cart.php.

Pour commencer et avant toute modification, faites une copie de ce fichier dans le dossier app/code/local/Mage/Checkout/Model/Cart.php

Passons à présent au code , nous allons mettre en place une nouvelle variable qui contiendra le montant maximum du panier au format numérique.

/**
* Montant maximum de la commande
*/
protected $_CartMaxAmount = '400';

Nous créons ensuite une fonction qui sera chargée de vérifier que le montant du panier est bien inférieur au montant défini dans notre variable précédente.…

Magento : Configurer un montant maximum de commande Lire la suite »

Mantis bugtracker : ajouter un statut personnalisée sur la page « Mon affichage »

En complément de mon précédent article qui présentait comment ajouter une étape dans le workflow de mantis, voici une nouvelle astuce dans l’utilisation du bugtracker mantis.

Nous allons voir  comment ajouter notre nouveau statut personnalisé dans les blocs situés dans la page « Mon affichage » (my_view_page.php).
Dans cet exemple nous souhaitons rajouter un bloc qui affichera l’ensemble des bugs qui sont en attente de mise en production. (cf article précédent)

Pour commencer nous allons mettre en place les nouveaux éléments nécessaires dans le fichier de configuration config_inc.php :

nous rajoutons la ligne suivante :

$g_bug_waiting_for_prod_status_threshold = 70;

le 70 correspond au numéro de workflow du statut de bug « En attente de mise en production »
c’est déjà fini pour le fichier de configuration 🙂

Passons ensuite au fichier custom_strings_inc.php dans lequel nous allons ajouter la ligne suivante :

$s_my_view_title_waiting_for_prod = "En attente de mise en production"

Pour personnaliser cette chaine avec votre statut, utilisez la racine « $s_my_view_title_ » suivi du nom de votre statut.…

Mantis bugtracker : ajouter un statut personnalisée sur la page « Mon affichage » Lire la suite »

Trucs et astuce : Emuler pour mieux intégrer

Une petite astuce rapide qui m’a servi récemment.

Lors de l’intégration d’un site internet, le rendu est souvent différent en fonction des ordinateurs et navigateurs.

Pour débugguer sous Internet Explorer, il existe certes les modes de compatibilités, cependant le rendu n’est pas toujours conforme à ce qui est réellement visualisé par l’utilisateur. La meilleure solution consiste donc à émuler des ordinateurs virtuels reprenant différentes configurations.

Pour faire cela, rien de plus facile, pour une fois microsoft à pensé à tout, et de manière gratuite de plus !

Dans mon cas, je souhaitais visualiser un site sous Windows XP et Internet Explorer 7.

Pour commencer il faut télécharger le logiciel « Virtual Pc » depuis l’adresse suivante : http://www.microsoft.com/windows/virtual-pc/

Télécharger ensuite le fichier « Windows XP Mode » depuis le même site.

Installer ensuite ces 2 logiciels, et le tour est joué ! Vous avez un joli pc virtuel entièrement fonctionnel sous Windows XP.

Libre à vous ensuite d’installer les navigateurs que vous souhaitez ( Cette image intègre encore Internet Explorer 6…)

Vous trouverez également des images des systèmes d’exploitation Vista et Seven depuis l’adresse suivante :

http://www.microsoft.com/download/en/details.aspx?id=11575

Trucs et astuce : Emuler pour mieux intégrer Lire la suite »

Magento : créer une sauvegarde des versions de pages cms

Un petit tip utile pour ce vendredi sur la plateforme Magento.
Par défaut, la version community ne comporte pas de sauvegarde des modifications des pages CMS.
Cette fonction peut cependant être très utile en cas d’une erreur ou d’une suppression intempestive d’un contenu.

Voici donc un petit tips pour remédier à tout cela rapidement ( sans interface d’administration pour l’instant…, juste une sauvegarde de la base de données).

Nous allons commencer par créer un module magento que nous allons nommer « CmsVersionning ».
Pour cet article celui-ci sera situé dans l’arborescence « app/local/Hhennes/CmsVersionning/ » (à adapter selon vos préférences)

Nous commençons par le fichier xml de configuration du module à placer dans app/etc/modules

 <?xml version="1.0"?>
<config>
    <modules>
        <Hhennes_CmsVersionning>
            <active>true</active>
            <codePool>local</codePool>
        </Hhennes_CmsVersionning>
    </modules>
</config>

Passons à présent au processus de création de ce module :

Pour commencer nous allons créer le fichier de configuration.…

Magento : créer une sauvegarde des versions de pages cms Lire la suite »

Magento U : Correctif installation locale de Magento Enterprise Edition

Je me suis récemment inscrit au programme de formation Magento U, qui permet de suivre des cours à la demande en vidéo et de manière gratuite sur cette plateforme.
( Je reviendrais en détails sur cette formation dans un futur article).

Une fois l’inscription à cette formation validée, il est possible de télécharger la version Entreprise de Magento ( version 1.11.0.2 )

Cependant l’installation de cette version en local ( à l’aide de wamp) sur mon ordinateur a été quelque peu problématique et je suis resté bloqué de longues heures à l’étape de la configuration.
Le navigateur me détectant une boucle sans fin, il était impossible de finaliser mon installation.

Malgré de nombreuses recherches je n’ai trouvé aucune solution sur internet, je partage donc mon astuce
( certes ce n’est pas le mode de fonctionnement le plus propre… mais il marche )

J’ai donc installé tout cela sur un hébergement ovh, et la miracle un message d’erreur s’est enfin affiché qui m’a permis de trouver la source du problème :

a:5:{i:0;s:219: »Error in file: « /app/code/core/Enterprise/WebsiteRestriction/data/enterprise_websiterestriction_setup/data-install-1.11.0.0.php 

Magento U : Correctif installation locale de Magento Enterprise Edition Lire la suite »

Utiliser plusieurs utilisateurs avec un dépot svn chez ovh

En complément de mon précédent article sur l’utilisation du service svn chez l’hébergeur ovh ( consultable ici ) qui convient très bien dans le cas d’un seul utilisateur, voici la manipulation à effectuer pour configurer plusieurs utilisateurs.

( Je détaille uniquement les informations qui changent par rapport à mon précédent article )

Il est important de noter que l’accès fonctionnera uniquement une fois la clé SSH mise en place.

Remplacer l’url du dépot par  : svn+ssh://identifiantftp@clusterxxx.ovh.net/dossier_depot

Au moment de l’ajout de la clé SSH dans le fichier authorized_key précédez celle-ci du texte suivant :

command= »/usr/bin/svnserve –root=/homez.XXX/identifiantftp/svn –tunnel –tunnel-user=nomUser« ,no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty

N’oubliez pas de remplacer les champs avec vos identifiants ftp, votre numéro de cluster et votre home.

Et voila le tour est joué, maintenant plusieurs utilisateurs sont gérés depuis votre serveur subversion, il sera donc plus facile d’identifier les auteurs de modifications 😉

Edit du 18/02/2013 : Si vous souhaitez rajouter une gestion plus fine des utilisateurs en limitant leurs accès par dossier, vous pouvez consulter l’article suivant : Subversion : Gestion des droits des utilisateurs par dossier

Utiliser plusieurs utilisateurs avec un dépot svn chez ovh Lire la suite »

Ajouter une étape dans le workflow Mantis

Dans le suivi d’un projet, il peut souvent être utile de rajouter une ou plusieurs étapes dans le cheminement des bugs ( ou workflow) de Mantis.

Par défaut le workflow de Mantis est le suivant

  • Nouveau
  • Commentaire
  • Accepté
  • Confirmé
  • Résolu
  • Fermé

Dans mon cas,  j’ai souhaité rajouté un statut « En attente de mise en production » pour bien identifier les bugs corrigés sur la version de préproduction du site, mais nécessitant encore d’être mis en place sur la version publique du site.

Voici la procédure à réaliser pour ajouter cette étape dans le workflow ( celle-ci peut être dupliquée pour ajouter plusieurs nouvelles étapes.)

Pour commencer il est nécessaire de créer  les fichiers custom_strings_inc.php et custom_constant_inc.php dans la racine de mantis ( ou de rajouter le contenu à la suite, si ces fichiers existent déjà)

Dans le fichier custom_constant_inc.php nous allons insérer le contenu suivant :

<?php define ( 'PROD', 70 ); ?>

Ajouter une étape dans le workflow Mantis Lire la suite »