Dix problèmes à inévitablement confronter dans chaque boutique Magento. Partie 1

Pour les développeurs, les commerçants avisés et les équipes de soutien…

Il faut beaucoup d’efforts pour que les boutiques Magento fonctionnent en douceur et facilement. Les marchands installent des extensions qui peuvent conflicter l’une avec l’autre, mettre à jour Magento vers une nouvelle version et rencontrer des problèmes de compatibilité ou simplement ouvrir un site Web, un matin, et de voir qu’il est en panne sans raison apparente.

Eh bien, il faut affronter la vérité – chacun peut faire face aux accidents de type “404 Not Found”, peu importe si vous êtes une entreprise de commerce électronique réputée ou un débutant dans le commerce en ligne. Fondamentalement, il y a quelques problèmes typiques qui surviennent inévitablement dans chaque boutique Magento.

Ci-dessous nous passons en revue 10 problèmes typiques de boutiques Magento et 10 moyens les plus pratiques pour les résoudre (avec le code fourni).


Q1: Le code de travail est bizarre, mais il n’y a pas des extensions tierces sur le magasin.
R1: Vérifiez les modifications du système Magento (si le core file code est changé ). Nous vous recommandons d’utiliser un standard Unix commande diff pour comparer tous les fichiers actuels de Magento avec les fichiers correspondants de défaut de Magento. Si vous trouvez une différence – vous allez résoudre le problème en partie.

Q2: Imaginez, qu’il y a une extension qui rafraîchit un panier via Ajax en ajoutant un produit d’une catégorie. Lorsque “ajouter au panier” est cliqué, la requête Ajax affiche l’ erreur “fonction inconnue showname”:

header.phtml:

  <? /**
  * @var Mage_Page_Block_Html_Header $this
  */ ?>
  <?php
   function showName($name)
   {
     echo '<strong><span>'.$name.'</span></strong>';
   }
  ?>
 <div class="header-container">
   <div class="header">
    ...

sidebar.phtml:

  <?php /**
  * Shoping cart sidebar
  * @see Mage_Checkout_Block_Cart_Sidebar
  */ ?>

  <?php if ($this->getIsNeedToDisplaySideBar()):?>
 <div class="block block-cart">
    <?php $_cartQty = $this->getSummaryCount() ?>
    <div class="block-title">
       <?php showName($this->__('My Cart')); ?>
   </div>
   ...

fixed sidebar.phtml:

  <?php /**
  * Shoping cart sidebar
  * @see Mage_Checkout_Block_Cart_Sidebar
  */ ?>
  <?php
       if (!function_exists('showName')) {
            function showName($name) {
                  echo '<strong><span>'.$name.'</span></strong>';
            }
      }
 ?>
 <?php if ($this->getIsNeedToDisplaySideBar()):?>
 <div class="block block-cart">
    <?php $_cartQty = $this->getSummaryCount() ?>
    <div class="block-title">
        <?php showName($this->__('My Cart')); ?>
    </div>
   ...

A2: Les exemples de code indiquent où la racine du mal se trouve. Le header contient une fonction globale qui est utilisée dans un panneau latéral. Quand la barre latérale est mise à jour par l’intermédiaire d’Ajax, le header n’est pas chargé (aussi bien en tant que valeur de fonction). Cependant, la barre latérale essaie de l’appeler et, par conséquent, affiche une erreur. Vérifiez si la fonction est définie. Si non, définissez-la.

Q3: Vous obtenez cette erreur:

ERR (3): Warning: include(): Failed opening ‘/home/vhosts/Magento/app/design/frontend/

default/default/template/ajaxcartpro/init.phtml’ for inclusion (include_path= ‘/home/vhosts/Magento/app/code/local:

/home/vhosts/Magento/app/code/community:

/home/vhosts/Magento/app/code/core:

/home/vhosts/Magento/lib:

/usr/share/php: /usr/share/pear’)

in /home/vhosts/Magento/app/code/core/Mage/Core/Block/Template.php on line 241

A3: Apache n’a pas l’autorisation d’ouvrir des fichiers. L’image ci-dessous montre une standarde commande chmod Unix qui définit les accès aux fichiers nécessaires.

Q4: L’extension est installée et configurée, mais elle ne s’affiche pas sur le frontend.

A4: : Lors de l’installation, des modèles et des peaux ont été copiés uniquement dans des dossiers par défaut. Jetez un oeil à cette image: les dossiers par défaut sont au-dessus, les dossiers à copier des fichiers sont ci-dessous.

Q5: Vous obtenez cette erreur:

public function __construct()
{
  ini_set('memory_limit', '1024M');
  ...
}

A5: Le tableau indique une erreur fatale. Cela signifie qu’il n’y a pas assez de mémoire pour effectuer l’opération demandée. Le code ci-dessus indique l’emplacement où l’opération ressource-intensive commence. Essayez d’augmenter la limite de mémoire pour Magento. Si cela fonctionne, fixez le fichier php.ini et augmentez la limite de mémoire dans la mesure nécessaire. Si l’erreur se produit de nouveau, le serveur manque de mémoire RAM (Random Access Memory).

Continuez la lecture et vous informez-vous de 5 autres problèmes typiques Magento la semaine prochaine.

No Comments

Leave a Comment

Please be polite. We appreciate that.
Your email address will not be published and required fields are marked