Jump to content

[Résolu] PS 1.7 - Fonction personnalisée


 Share

Recommended Posts

Bonjour,

J'ai ajouté une fonction ( ExempleFonction() ) dans /classes/Cart.php

Je veux l'utiliser dans un template mais quand je l'appelle ça ne fonctionne pas {Cart::ExempleFonction()}

Il semblerait que la fonction ne soit pas enregistrée mais je n'y arrive pas.. pourriez vous SVP m'indiquer comment faire ?

Merci par avance 😁

Edited by Marti84 (see edit history)

Share this post


Link to post
Share on other sites

Donc pas utilisable avec cette syntaxe!

{$cart->ExempleFunction()}

Bien  sûr il faut que la variable $cart soit un object de type cart. Tout dépend de quel template à quel moment et de finalement ce que tu fais dans ExempleFunction

Share this post


Link to post
Share on other sites

Par exemple  Si je prend la fonction existante getTotalWeight dans \classes\cart.php

    public function getTotalWeight($products = null)
    {
...
    }

et que je l'appelle dans shipping.tpl dans  \themes\verdana\templates\checkout\_partials\steps

{Cart::getTotalWeightCT($cart.products)}

ça fonctionne parfaitement, mais si je fais une fonction perso en me basant sur getTotalWeight, la nommant ExempleFonction et reprenant le même code, cela ne fonctionne pas dans le tpl. 

Share this post


Link to post
Share on other sites

non car... getTotalWeightCT n'est pas getTotalWeight

Vous pouvez argumenter a votre guise. La programmation obéira TOUJOURS aux lois de la programmation quelques soit  votre croyance et les prédictions des augures.

 

Share this post


Link to post
Share on other sites

Ci dessous la solution

J'ai crée un fichier DropShipping.php dans  C:\wamp64\www\boutique\classes dans lequel j'ai incrémenté le code de cette façon :
 

class DropShipping
{
    public static function GetTotalCostDropShipping($product_list)
    {
...
    }
}

Enfin, dans le template Shipping.tpl, j'appelle la fonction de cette façon : {DropShipping::GetTotalCostDropShipping($cart.products)

 

A nouveau merci pour l'entraide inexistante sur ce forum, où la plupart des contributeurs ont plus de qualités littéraire et sarcastique que de réelles compétences techniques.

 

Marti.

Share this post


Link to post
Share on other sites

Il y a 13 heures, doekia a dit :

est-ce une statique?

 

Il y a 12 heures, Marti84 a dit :

Non, public function

Il y a 12 heures, doekia a dit :

{$cart->ExempleFunction()}

 

Il y a 4 heures, Marti84 a dit :

public static function GetTotalCostDropShipping($product_list)

 

Il y a 4 heures, Marti84 a dit :

que de réelles compétences techniques.

 

Share this post


Link to post
Share on other sites

il y a 4 minutes, Marti84 a dit :

Super merci Mediacom87, tout comme doekia, vous avez participé à là résolution du problème grace à vos très grandes compétences techniques. Il ne manque plus que vous corrigiez mes fautes d’orthographe et on est bon.

Peut mieux faire mais persiste dans la négativité envers ses camarades au lieu de se concentrer sur son travail.

Share this post


Link to post
Share on other sites

Il y a 4 heures, Marti84 a dit :

A nouveau merci pour l'entraide inexistante sur ce forum, où la plupart des contributeurs ont plus de qualités littéraire et sarcastique que de réelles compétences techniques.

Il ne reste qu'à vous de venir apporter votre aide au lieu de juste venir consommer le savoir partagé par autrui que vous critiquez à la moindre occasion.

Après, vous pourrez venir critiquer l'attitude des autres, comme je vous critique actuellement, car je sais très bien les milliers de gens que j'ai aidé sur ce forum et ailleurs.

Share this post


Link to post
Share on other sites

Mediacom87 on voit l'expérience du super modérateur, bravo.

pour revenir a du sérieux, doekia, j’ai changé de méthode car je n’y arrivais pas sans créer une nouvelle classe et une fonction static et ce n’est pas avec ce que j’ai trouvé ici que j’ai pu m’en sortir.

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More