Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]


Invalid argument supplied for foreach()

Soutien et conseil sur les "Thèmes graphique" pour OpenCart

Invalid argument supplied for foreach()

Messagepar Canou83 » 01 Fév 2014, 09:06

Bonjour. Bin et bien une dernière erreur à régler et normalement tout sera OK.

PHP Warning: Invalid argument supplied for foreach() in /homez.792/freewrs/aquamagasin.com/catalog/view/theme/Universum/template/module/latest.tpl on line 18


Comme celle-ci est liée au template, j'a naturellement demandé au développeur de celui-ci d'y jeter un oeil.

Mais voici sa réponse :

it looks like you're using a pre-localized version of OpenCart, which is HIGHLY NOT RECOMMENDED! :)

You must always use the original opencart distribution found on opencart.com

You are even using a non existent version of the system (1.5.5.2 - there is NO such opencart version)

Unfortunately in this case I wouldn't be able to find the problem.


et

It is not an official OpenCart release. It's heavily modified and the language is not the only difference. All themes are built to work with the original system and it's always recommended to use original opencart with language pack and not pre-localized versions. All of them - French, Netherlands, Turkish, Russian versions - all of them have errors in code and create conflicts.


Donc en gros, débrouille toi...

Cette erreur est liée au module nouveauté en place sur la page index. Quand cette erreur apparait dans les logs, elle apparaît aussi en lieu et place du module en page index.

Est-ce qu'un passage à la dernière version pourrait régler cela ? Ou plus précisément d'ou provient cette erreur ? Et comment la régler ?

Merci pour vos conseilles.
Dernière édition par Canou83 le 05 Fév 2014, 20:08, édité 1 fois.
Opencart 2.3.0.3 en fr
Journal 2
Avatar de l’utilisateur
Canou83
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 133
Inscription: 09 Déc 2013, 16:33
Localisation: PACA

Re: Invalid argument supplied for foreach()

Messagepar LeorLindel » 01 Fév 2014, 09:32

Fais une mise à jour avec la v1.5.6.1 Fr que l'on vient de sortir et si le module est compatible avec cette version et qu'il t'affiche toujours cette erreur, tu pourras le signaler à son concepteur, lui signifiant que ce n'est pas un problème de version.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4232
Inscription: 19 Fév 2010, 12:44
Localisation: Lutéce

Re: Invalid argument supplied for foreach()

Messagepar Canou83 » 01 Fév 2014, 09:59

Ok. merci.
Opencart 2.3.0.3 en fr
Journal 2
Avatar de l’utilisateur
Canou83
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 133
Inscription: 09 Déc 2013, 16:33
Localisation: PACA

Re: Invalid argument supplied for foreach()

Messagepar LeorLindel » 01 Fév 2014, 12:50

J'ai vu que tu avais mis ton site à niveau (1.5.6.1), alors qu'en est-il de ton erreur ? Est-elle toujours présente ?

Note : Tu n'oublieras pas d'ailleurs de modifier ta signature.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4232
Inscription: 19 Fév 2010, 12:44
Localisation: Lutéce

Re: Invalid argument supplied for foreach()

Messagepar Canou83 » 01 Fév 2014, 12:58

J'ai toujours l'erreur présente.

2014-02-01 12:43:59 - PHP Warning: Invalid argument supplied for foreach() in /homez.792/freewrs/aquamagasin.com/catalog/view/theme/Universum/template/module/latest.tpl on line 18


Et la ligne 18 du fichier latest.tpl c'est
Code: Tout sélectionner
<?php foreach ($products as $product) { ?>
Opencart 2.3.0.3 en fr
Journal 2
Avatar de l’utilisateur
Canou83
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 133
Inscription: 09 Déc 2013, 16:33
Localisation: PACA

Re: Invalid argument supplied for foreach()

Messagepar LeorLindel » 01 Fév 2014, 13:05

Je pense que le concepteur a oublié une déclaration dans le fichier "catalog/controller/module/latest.php".
Il va falloir voir avec lui.

As-tu un fichier XML pour vQmod lié à ce module ?
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4232
Inscription: 19 Fév 2010, 12:44
Localisation: Lutéce

Re: Invalid argument supplied for foreach()

Messagepar Canou83 » 01 Fév 2014, 13:14

Je vais lui signer, mais le Monsieur semble rigide ;)
Opencart 2.3.0.3 en fr
Journal 2
Avatar de l’utilisateur
Canou83
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 133
Inscription: 09 Déc 2013, 16:33
Localisation: PACA

Re: Invalid argument supplied for foreach()

Messagepar LeorLindel » 01 Fév 2014, 14:13

Cela n'empêche que tu as acheté ce module et qu'il est tenu à y faire une maintenance si erreur il y a.

D'ailleurs peux-tu mettre le lien dirigeant vers ce module.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4232
Inscription: 19 Fév 2010, 12:44
Localisation: Lutéce

Re: Invalid argument supplied for foreach()

Messagepar Canou83 » 01 Fév 2014, 14:18

C'est le dev du template : http://themeforest.net/item/universum-p ... me/3960972


le module lui c'est le module livré avec Opencart "Nouveauté"
Opencart 2.3.0.3 en fr
Journal 2
Avatar de l’utilisateur
Canou83
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 133
Inscription: 09 Déc 2013, 16:33
Localisation: PACA

Re: Invalid argument supplied for foreach()

Messagepar LeorLindel » 01 Fév 2014, 15:37

Dans le pack de ce template, y avait-il que des fichiers .tpl > catalog/view/.../*.tpl ou en comprenait-il d'autres, exemple catalog/controller, catalog/model, etc... ?
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4232
Inscription: 19 Fév 2010, 12:44
Localisation: Lutéce

Re: Invalid argument supplied for foreach()

Messagepar Canou83 » 01 Fév 2014, 16:04

Sauf erreur, mais je viens de reprendre l'ensemble du dossier, seulement dans catalogue/view
Opencart 2.3.0.3 en fr
Journal 2
Avatar de l’utilisateur
Canou83
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 133
Inscription: 09 Déc 2013, 16:33
Localisation: PACA

Re: Invalid argument supplied for foreach()

Messagepar LeorLindel » 01 Fév 2014, 16:08

Peux-tu éditer ton fichier catalog/view/.../latest.tpl
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4232
Inscription: 19 Fév 2010, 12:44
Localisation: Lutéce

Re: Invalid argument supplied for foreach()

Messagepar Canou83 » 01 Fév 2014, 16:17

1 chose avant d'oublier et qui me semble importante, merci LeorLindel pour la version 1.5.6.1 en fr
la mise à jour est passée comme une lettre à la poste. :)

Revenons à nos moutons.

Code: Tout sélectionner
<?php
$this->language->load('Universum_custom/Universum');
$text_wish = $this->language->get('text_wish');
$text_compare = $this->language->get('text_compare');
$text_sale = $this->language->get('text_sale');
$text_save = $this->language->get('text_save');
$text_new_prod = $this->language->get('text_new_prod');
$text_left = $this->language->get('text_left');
$text_purchased = $this->language->get('text_purchased');
$text_limited = $this->language->get('text_limited');
?>
<?php if (($setting['position'] == 'content_top') || ($setting['position'] == 'content_bottom')){ ?>

<div class="box">
  <h2 class="heading_title"><span><?php echo $heading_title; ?></span></h2>
  <div class="box-content">
    <div class="box-product">
      <?php foreach ($products as $product) { ?>
      <div class="prod_hold">
        <?php if ($product['thumb']) { ?>
        <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
        <?php } ?>
        <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
        <?php
        $startDate1 = strtotime(mb_substr($product['startdate'], 0, 10));
        $endDate2 = strtotime(date("Y-m-d"));
        $days = ceil(($endDate2 / 86400)) - ceil(($startDate1 / 86400));
        ?>
        <?php if($this->config->get('UniversumControl_status') == '1'){ ?>
        <?php $numeroNew = $this->config->get('UniversumControl_new_label'); ?>
        <?php } else { ?>
        <?php $numeroNew = 10; ?>
        <?php } ?>
        <?php if ($days < $numeroNew) { ?>
        <span class="new_prod"><?php echo $text_new_prod; ?></span>
        <?php } ?>
        <?php if ($product['price']) { ?>
        <div class="price">
          <?php if (!$product['special']) { ?>
          <?php echo $product['price']; ?>
          <?php } else { ?>
          <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
          <div class="sale_save_holder">
            <?php
        $val1 = preg_replace("/[^0-9.]/", "", $product['special']);
      $val2 = preg_replace("/[^0-9.]/", "", $product['price']);
        ?>
            <?php
        $res = ($val1 / $val2) * 100;
        $res = 100 - $res;
        $res = round($res, 1);
        ?>
            <span class="sale"><?php echo $text_sale; ?></span> <span class="save"><?php echo $text_save; ?>: <?php echo $res; ?>%</span> </div>
          <?php } ?>
        </div>
        <?php } ?>
        <div class="prod-info-fly">
          <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
          <?php if ($product['price']) { ?>
          <div class="price">
            <?php if (!$product['special']) { ?>
            <?php echo $product['price']; ?>
            <?php } else { ?>
            <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
            <?php if(($this->config->get('UniversumControl_status') == '1') && ($this->config->get('UniversumControl_countdown') == '1')){ ?>
            <?php if ($product['date_end'] != '0000, 00 - 1, 00') { ?>
            <span class="turning_clock"></span>
            <div class="count_holder_small">
              <div class="count_info"><?php echo $text_limited; ?></div>
              <div id="UniversumCountSmallLatest<?php echo $product['product_id']; ?>"></div>
              <script type="text/javascript">
               $(function () {   
                  $('#UniversumCountSmallLatest<?php echo $product['product_id']; ?>').countdown({until: new Date(<?php echo $product['date_end']; ?>), compact: false});
               });
      </script>
              <div class="clear"></div>
             
            </div>
            <?php } ?>
            <?php } ?>
            <?php } ?>
            <div class="clear"></div>
          </div>
          <?php } ?>
          <?php if ($product['rating']) { ?>
          <div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>
          <?php } ?>
          <div class="cart"> <?php if(!empty($plus_minus_quantity) && $plus_minus_quantity==1) { ?>
            <div class="plus_minus_quantity">
            <input type="button" onclick="subtractQty(this)" value="-" class="qty-minus" />
            <input type="text" value="1" size="1" class="quantity" name="quantity_<?php echo $product['product_id']; ?>">
            <input type="button" onclick="addQty(this)" value="+" class="qty-plus" />
            
            </div>
                <a class="add_to_cart_small" title="<?php echo $button_cart; ?>" onclick="addToCartQty('<?php echo $product['product_id']; ?>', this);"><?php echo $button_cart; ?></a>
            <?php } else {   ?>
                 <a class="add_to_cart_small" title="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');"><?php echo $button_cart; ?></a>
            <?php } ?> <a class="add_to_wishlist_small" onclick="addToWishList('<?php echo $product['product_id']; ?>');" title="<?php echo $text_wish; ?>"><?php echo $text_wish; ?></a> <a class="add_to_compare_small" onclick="addToCompare('<?php echo $product['product_id']; ?>');" title="<?php echo $text_compare; ?>"><?php echo $text_compare; ?></a> </div>
        </div>
      </div>
      <?php } ?>
    </div>
  </div>
</div>
<?php } else { ?>
<div class="box">
  <div class="box-heading"><?php echo $heading_title; ?></div>
  <div class="box-content">
    <?php foreach ($products as $product) { ?>
    <div class="prod_hold">
      <?php if ($product['thumb']) { ?>
      <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
      <?php } ?>
      <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
      <?php
        $startDate1 = strtotime(mb_substr($product['startdate'], 0, 10));
        $endDate2 = strtotime(date("Y-m-d"));
        $days = ceil(($endDate2 / 86400)) - ceil(($startDate1 / 86400));
        ?>
      <?php if($this->config->get('UniversumControl_status') == '1'){ ?>
      <?php $numeroNew = $this->config->get('UniversumControl_new_label'); ?>
      <?php } else { ?>
      <?php $numeroNew = 10; ?>
      <?php } ?>
      <?php if ($days < $numeroNew) { ?>
      <span class="new_prod"><?php echo $text_new_prod; ?></span>
      <?php } ?>
      <?php if ($product['price']) { ?>
      <div class="price">
        <?php if (!$product['special']) { ?>
        <?php echo $product['price']; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
        <?php } ?>
      </div>
      <?php } ?>
      <div class="cart"> <?php if(!empty($plus_minus_quantity) && $plus_minus_quantity==1) { ?>
            <div class="plus_minus_quantity">
            <input type="button" onclick="subtractQty(this)" value="-" class="qty-minus" />
            <input type="text" value="1" size="1" class="quantity" name="quantity_<?php echo $product['product_id']; ?>">
            <input type="button" onclick="addQty(this)" value="+" class="qty-plus" />
            
            </div>
                <a class="add_to_cart_small" title="<?php echo $button_cart; ?>" onclick="addToCartQty('<?php echo $product['product_id']; ?>', this);"><?php echo $button_cart; ?></a>
            <?php } else {   ?>
                 <a class="add_to_cart_small" title="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');"><?php echo $button_cart; ?></a>
            <?php } ?> <a class="add_to_wishlist_small" onclick="addToWishList('<?php echo $product['product_id']; ?>');" title="<?php echo $text_wish; ?>"><?php echo $text_wish; ?></a> <a class="add_to_compare_small" onclick="addToCompare('<?php echo $product['product_id']; ?>');" title="<?php echo $text_compare; ?>"><?php echo $text_compare; ?></a> </div>
    </div>
    <?php } ?>
  </div>
</div>
<?php } ?>
Opencart 2.3.0.3 en fr
Journal 2
Avatar de l’utilisateur
Canou83
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 133
Inscription: 09 Déc 2013, 16:33
Localisation: PACA

Re: Invalid argument supplied for foreach()

Messagepar LeorLindel » 01 Fév 2014, 19:09

Via l'admin > Extensions > Module, désinstalle le module latest (Nouveautés) et ré-installe-le car je ne vois rien d'anormal dans le fichier .tpl.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4232
Inscription: 19 Fév 2010, 12:44
Localisation: Lutéce

Re: Invalid argument supplied for foreach()

Messagepar Canou83 » 01 Fév 2014, 19:34

OK, je vais essayer.

Sinon pour info le dev du template se demande si le module d'optimisation ne serait pas en cause :

Also I see you're using combined CSS and JS files and it's possible that they are using some kind of caching which cause the error on random loads if it tries to load cached content instead of the real content.
Opencart 2.3.0.3 en fr
Journal 2
Avatar de l’utilisateur
Canou83
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 133
Inscription: 09 Déc 2013, 16:33
Localisation: PACA

Suivante

Retourner vers Soutien

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron