Jump to content

Condition Smarty avec boucle foreach products id


Recommended Posts

Bonjour,

 

je suis un ex oscommerce et je patauge un peu sur presta en 1.6..

 

Je souhaite ne pas afficher un module de paiement selon une condition smarty dans un fichier tpl (en l'occurrence le fichier payment.tpl du module bankwire)

 

J'arrive à afficher le module chèque si le transporteur est l'id31 avec la condition

 

{if $carrier->id == 31}

.......

{/if}

 

ou l'afficher si l'id est différent de 31

 

{if $carrier->id != 31}

.......

{/if}

 

 

Par contre je n'arrive pas à faire la même chose avec un ou plusieurs articles dans le panier.

 

Si le panier contient un/plusieurs article dont l'ID est 500 ou 501 je ne veux pas que le module cheque s'affiche

 

{if $products->product_id != 500 || $products->product_id != 501}

.......

{/if}

 

ca ne fonctionne pas. Je crois comprendre qu'il faut utiliser une boucle foreach mais je n'arrive pas à la mettre en forme malgré mes recherches. C'est surement très simple ou ...je suis trop nul !

 

Merci pour vos pistes

 

Cordialement

 

 

 

 

Link to comment
Share on other sites

Bonjour,

merci pour votre aide !

 

Après moult essais j'ai enfin réussi à trouver la bonne syntaxe pour que cela fonctionne (sur 1.6.0.14).

 

Il faut mettre $ma_liste_article = $this->context->cart->getProducts(); au lieu de $ma_liste_article = Cart::getProducts();

 

Sinon cela me générait cette erreur : Strict Standards: Non-static method CartCore::getProducts() should not be called statically, assuming $this from incompatible context

 

Le code au complet

 

$article_exclu = array(9699,7781,502,503,1258);
        $ma_liste_article = $this->context->cart->getProducts();

      foreach( $ma_liste_article as $article )
      if( in_array( $article['id_product'], $article_exclu ) )
        return false;

 

Merci encore ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...