Interdire le copier/coller dans un formulaire sans javascript

septembre 7th, 2013 | by | html/css

Sep
07

Ayant des problèmes avec des adresses mails erronées, un client a voulu que les personnes s'inscrivant sur son site doivent valider leur adresse tout en interdisant le copier/coller car sinon cela ne servait pas à grand chose.

J'ai donc cherché une méthode simple et à ma plus grande surprise cela existe en html sans avoir besoin de recourir au javascript !

oncopy="return false;" pour empêcher la copie
oncut="return false;" pour empêcher de couper
onpaste="return false;" pour empêcher de coller

1
2
<label>Adresse e-mail :</label><input name="email" type="text" oncopy="return false;" oncut="return false;" />
<label>Confirmation de l'adresse e-mail :</label><input name="emailconfirm" type="text" onpaste="return false;" />

Le bémol c'est que ces attributs viennent de Microsoft… et donc non standards… mais cela fonctionne sur la plus part des navigateurs.

Si vous voulez connaitre tous les évènements-attibuts : http://reference.sitepoint.com/html/extended-event-attributes/oncopy

Après vous pouvez faire ça en jquery :

1
2
3
4
5
6
7
8
9
$("#email").bind('copy', function() {
alert('copy behaviour detected!')
});
$("#email").bind('cut', function() {
alert('cut behaviour detected!')
});
$("#emailconfirm").bind('paste', function() {
alert('paste behaviour detected!')
});

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 »

Supprimer estimation des frais de port et de la TVA dans le panier (Magento)

août 21st, 2013 | by | magento

Août
21

Étrangement, il n'y a pas d'option dans l'administration pour désactiver cette fonction. Mais la modification est très simple.

Supprimer estimation des frais de port et de la TVA dans le panier (Magento)

Vous devez modifier ce fichier :
frontend/default/(votretemplate)/template/checkout/cart.phtml

Il suffit de commenter la ligne 147 (sur Magento 1.7.0.2)

1
<php //if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>

Une petite purge du cache et le tour est joué.

No Comments »

The server is temporarily unable to service your request due to maintenance downtime or capacity problems.

août 15th, 2013 | by | magento

Août
15

Petite erreur 503 rencontrée suite à l'installation non réussie d'un module :

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Pour avoir de nouveau accès au site et à l'administration, il suffit de supprimer le fichier "maintenance.flag" à la racine du site.

Voilà la petite astuce pour le jour de l'Assomption 😉

No Comments »

Comment facturer une commande annulée sous magento ?

mai 22nd, 2013 | by | magento

Mai
22

C'est arrivé à tout le monde d'annuler une commande car le paiement de la banque a été refusé ou bien que nous attendons le chèque depuis plus d'1 mois.
C'est encore ce qui m'est arrivé aujourd'hui et le problème c'est qu'il est impossible de facturer une commande une fois celle-ci annulée.
On peut la renouveler mais on sera limité dans les options, il sera notamment impossible de choisir le paiement par carte bancaire si celui-ci était finalement bien passé.

Commande annulée sur Magento

Je me décide donc à faire un article pour savoir comment remettre une commande dans les tuyaux.

Attention ! Ces modifications ont été faites sur un Magento 1.4.2, il y aura peut être quelques ajustements à faire pour les versions plus récentes.
J'essaierai de mettre à jour cet article une fois les tests effectués sur la 1.7

Récupération de l'id de la commande

Pour ce faire, il faut ouvrir la commande dans l'administration magento et regarder dans l'url de la page, exemple :

http://www.monsite.fr/index.php/adm/sales_order/view/order_id/36897/key/564d9a83ef88da1079e5c1988e2f6dc9/

L'id a récupéré se trouve en gras : 36897
Notez également le numéro de commande se trouvant sur la page, ici : 100036897

Direction la base de données SQL

Muni de ces 2 éléments nous allons modifier 3 tables :

  • sales_flat_order
  • sales_flat_order_grid
  • sales_flat_order_item

Dans la table sales_flat_order vérifier les champs suivants pour l’id de la commande :

  • state : le modifier en processing
  • status : le modifier en processing
  • %_canceled : Tous les champs en canceled doivent être passés à 0.0000

Dans la table sales_flat_order_grid vérifier les champs suivants pour l’id de la commande :

  • status : le modifier en processing

Dans la table sales_flat_order_item vérifier les champs suivants pour l’id de la commande:

  • qty_canceled : le passer à 0.0000

UPDATE sales_flat_order_item SET qty_canceled = "0.0000" WHERE order_id = "36897"

C'est plus simple avec une requête surtout lorsque vous avez plusieurs dizaines de produits...

Vous pouvez maintenant retourner dans le backoffice Magento et facturer votre commande.

J'espère que ce petit "tutoriel" vous aura aidé 😉

No Comments »