Jump to content

$customerName... et le reste ?


ludo

Recommended Posts

Salut,

Je voudrais simplement récupérer le nom et le prénom d'un client connecté.
il y a bien $customerName mais ca affiche les deux.
J'ai bien tenté des anneries du style $customerFirstname $customerFirstName $customerfirstname $customer.firstname $customerfaitchié mais rien ... le vide ... le bide !

Théoriquement on devrait avoir
$customerFullname -> Paul Durant
$customerName -> Durant
$customerFirstname -> Paul

Link to comment
Share on other sites

C'etait une réponse assez générique ... çà va dépendre de ce qui est loadé coté php ou passé en variable à Smarty ...

Coté .PHP :

$tmpCust= new Customer($idCust);
echo $tmpCust->firstname; // affiche le prénom du customer loadé
$smarty->assign('monCustomer', $tmpCust);
$smarty->assign('prenom', $tmpCust->firstname);



Coté Smarty dans un .TPL:

Le prénom du client : {$monCustomer->firstname} équivaut à {$prenom}




Pierre.

Link to comment
Share on other sites

ah daccord. Merci.
Mais ça ne fonctionne pas..

je comprend le fonctionnement de smarty qui donne des noms à des variables .php --> .tpl (en simplifié , smarty, plus petit jsuppose que le nom vient de là)


Pour ce qui est d'aller chercher le firstname de l'utilisateur actuellement connecté, j'essaye dans le fichier my-account.php et my-account.tml ; header.php ; et depuis d'autres fichiers, mais ça n'affiche rien...
suis un peu bloqué ; Y aurait pas une erreur dans ton code par hasard (??) :

$tmpCust= new Customer($idCust);
echo $tmpCust->firstname; // affiche le prénom du customer loadé
$smarty->assign('monCustomer', $tmpCust);
$smarty->assign('prenom', $tmpCust->firstname);



{$monCustomer->firstname} ou {$prenom}





Merci

Link to comment
Share on other sites

La classes "Customer" étant héritière du modèle objet de notre très chère solution soit la classe "ObjectModel".
Vous pouvez accéder à chaque information objet par ses membres.

$customer = Customer(1);
$customer->id; // ID
$customer->firstname; // Prénom
$customer->lastname; // Nom
// ...
$customer->email; // Email



Pour récupérer le client courant, fichier *.php :

global $cookie; // Récupère la variable globalisée (au cas ou...)
$id_customer = ($cookie->isLogged() && isset($cookie->id_customer)) ? intVal($cookie->id_customer) : 0; // Récupère l'id client ou 0 (pour rester dans le "same-type")
if ($id_customer) { // Test si on a un id client
 $smarty->assign('customer', new Customer($id_customer)); // Envoie l'objet customer dans le fichier template (*.tpl)
}



Fichier template (*.tpl):

>
{if isset($customer)}
</pre>
<ul>
{l s='Lastname'}: {$customer->lastname}
{l s='Firstname'}: {$customer->firstname}
{l s='Email'}: {$customer->email}
</ul>
<br>{/if



Voici un résumé minuscule :)

Et donc pour afficher le débug de smarty.
Utiliser la fonction smarty "debug" comme ceci : (fichier *.tpl)

{debug}

  • Like 1
Link to comment
Share on other sites

Excellent ! tout ceci est bien clair, et j'ai pu appeller toutes les infos que je voulais relatives au customer.

merci.



Autre chose maintenant: pouvoir afficher/extraire seulement une caractéristique d'un produit parmis toutes les caractéristiques.

Ce code - dans product.tpl - permet d'afficher toute les caractéristique :

>
{if $features}
       <!-- product's features -->
</pre>
<ul>
       {foreach from=$features item=feature}
{$feature.name|escape:'htmlall':'UTF-8'} {$feature.value|escape:'htmlall':'UTF-8'}
       {/foreach}
</ul>
<br>  



Y'aurait pas moyen de le modifier pour que seulement une caractéristique voulue (p exple celle dont l'id_feature = 8) s'affiche ?
ceci dans le but d'afficher cette caractéristique à un autre endroit que dans la fiche technique.


merci

Link to comment
Share on other sites

Désolé Syl, mais pour ce post il va falloir mettre un [Resolu] et en ouvrir un nouveau pour ta demande (avec éventuellement le lien vers ce sujet pour rappel).
Je précise que je ne suis pas modérateur. Mais je suis intimement convaincu que pour une lisibilité du forum en général : un problème égal une solution.

Je te répond de suite après ;)

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...